月度归档:2018年06月

sudo 防止su -i 切到root下

sudo在日常运维中我们经常使用的工具,可以给普通用户授予root用户权限执行某些特殊操作,但这里也有个问题,在设置完后,普通用户通过su -i 仍然可以切到root用户下,那如何防止呢,我们就从基本的先看看如何设置sudo用户:

新建文件webadminsudo 写入:

webadmin ALL=(ALL) NOPASSWD:ALL,!/usr/bin/passwd,!/bin/bash,!/bin/sh,!/bin/tcsh,!/bin/su

看我配置文件内容,sudo -i  默认是调用bash命令切换到root的shell下获取root权限的所有只要禁用bash就可以了.

这样用户就无法切到root用户下了,简单吧。

从网上还看到其它例子,可以增加更多限制,可以参考:

另一个例子:

Cmnd_Alias DENYCMD = !/bin/su,!/usr/bin/passwd,!/usr/bin/passwd root,!/bin/vi /etc/sudoers,!/usr/bin/vim /etc/sudoers,!/usr/sbin/visudo,!/usr/bin/sudo -i,!/bin/vi /etc/ssh/*,!/usr/bin/vim /etc/ssh/*,!/bin/chmod 777 /etc/*,!/bin/chmod 777 *,!/bin/chmod 777,!/bin/chmod -R 777 *

Cmnd_Alias DENYRMCMD = !/bin/rm /*,!/bin/rm /,!/bin/rm -rf /,!/bin/rm -rf /*,!/bin/rm /etc,!/bin/rm -r /etc,!/bin/rm -rf /etc,!/bin/rm /etc/*,!/bin/rm -r /etc/*,!/bin/rm -rf /etc/*,!/bin/rm /root,!/bin/rm -r /root,!/bin/rm -rf /root,!/bin/rm /root/*,!/bin/rm -r /root/*,!/bin/rm -rf /root/*,!/bin/rm /bin,!/bin/rm -r /bin,!/bin/rm -rf /bin,!/bin/rm /bin/*,!/bin/rm -r /bin/*,!/bin/rm -rf /bin/*

!/bin/su

YANFA ALL=(ALL) NOPASSWD:ALL,DENYCMD,DENYRMCMD

这样会增加更多限制。

还有一个问题,有时候普通用户切root需要输入密码,有时候很是很烦人,下面提供一个方法,可以不用输密码了,哈:

如何su – root不需要密码:

vi /etc/pam.d/su

将 auth这一列的注释号 去除

# Uncomment the following line to implicitly trust users in the “wheel” group.

auth            sufficient      pam_wheel.so trust use_uid

然后将登陆用户加入 wheel组

usermod -G wheel martin

设置完成测试。

 

python+mongodb操作方法全(附源码和图形客户端Mongodb-compass)

这篇介绍mongodb和Python使用, 从基本的安装说起,先熟练mongodb的基本操作,然后通过python实现数据插入、查询,以及mongoengine使用,最后是图形化界面连接mongodb数据库,我们从安装开始:

Mongodb 安装

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.4.tgz

tar -zxvf mongodb-linux-x86_64-rhel62-3.6.4.tgz

mv mongodb-linux-x86_64-rhel62-3.6.4 /usr/local/mongodb

 

添加环境变量:/etc/profille

 

MONGODB=/usr/local/mongodb

PATH=$MONGODB/bin:$PATH

export  PATH

 

配置文件:

Vi /etc/mongod.conf

 

 

启动:

mkdir -p /data/db

mongod &

关闭:

mongod  –shutdown  –dbpath /data/db

登录数据库关闭:

Mongo  //进入客户端

use admin;

db.shutdownServer();

 

#python升级后pip不能使用,重新安装,你如果pip没问题,不用操作这些步骤。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

python -m pip install pymongo

 

以下是python和mango 的一些脚本程序:

 

脚本1:插入数据

 

 

 

 

脚本2:

 

 

 

#脚本3:多查询

 

 

 

#脚本4:插入一个对象

 

 

 

#脚本5:多对象插入

以下是mongoengine使用,这个可能之前有人没接触过,你可以理解为类似django中的orm的使用,就是可以通过定义class 来定义数据库表和字段,使用也不复杂,它提供了很多方法供我们使用,官网参考:http://docs.mongoengine.org/

 

# mongoengine使用:

pip install -U mongoengine

 

脚本6:

 

 

 

#脚本7 get user

 

 

 

官网参考:http://docs.mongoengine.org/

 

操作mongo数据库用图形化还是很直观,我推荐用官网的Mongodb-compas:

图形化客户端连接:

Mongodb-compas下载

https://www.mongodb.com/download-center?jmp=hero#compass

 

下载安装:

mongodbcomposs

 

selenium + chrome爬虫环境搭建

在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo

内容如下:

yum -y install google-chrome-stable –nogpgcheck

安装后查看安装目录:

which google-chrome-stable

which google-chrome

查看版本号:

google-chrome –version

如果想看更多内容就用

google-chrome –help #会列出所有参数

然而在使用selenium +chrome时有报错:

需要多加二个参数:

其它参数有:

[‘–headless’, ‘–disable-gpu’, ‘–no-sandbox’, ‘–disable-extensions’, ‘–disable-dev-shm-usage’]

到这其实安装完后通过vnc登录进去也开不开,可以参考这篇解决:

https://blog.csdn.net/tiandaochouqin99/article/details/79643248

windows下安装selenium报错解决

在windows下安装selenium 反复安装了几次,都报这个错误:

File “c:\users\jibingchuan\appdata\local\programs\python\python36-32\lib\conte
xtlib.py”, line 99, in __exit__
self.gen.throw(type, value, traceback)
File “c:\users\jibingchuan\appdata\local\programs\python\python36-32\lib\site-
packages\pip\_vendor\urllib3\response.py”, line 307, in _error_catcher
raise ReadTimeoutError(self._pool, None, ‘Read timed out.’)
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=’files
.pythonhosted.org’, port=443): Read timed out.

 

解决也简单,延长超时时间就可以解决:

pip3 –default-timeout=1000 install selenium

安装完上面的还没完,运行时有报错:

ERROR:install_util.cc(597)] Unable to readregistry  value HKLM\SOFTWARE\Policies\Google\Chrome\MachineLevelUserCloudPolicyEnrollmen
tToken for writing result=2

然后在注册表里加一个值就可以了。

selenium-register

新建一个字符串值,名称是:MachineLevelUserCloudPolicyEnrollmentToken

网上也有这么修复的,可以参考:

 

 

tomcat杀进程方法

有时候tomcat停不掉,需要租如下修改:

在catalina.sh文件的PRGDIR=dirname "$PRG"行后面添加

if [ -z “$CATALINA_PID” ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
cat $CATALINA_PID
fi
在shutdown.sh文件的最后一行 stop后面添加
-force

在bin目录创建存id的文件
touch CATALINA_PID