生产环境开发人员都需要能够登录上去运维或查看日志,因为信任,所以简单!对吧?你把root账号密码都告诉所有人,然后某一天机器挂了,你登录上一看 rm -rf * ,这是哪个混蛋干的,这时候估计是没人会认账的,好吧,那这样我给每个开发人员都开一个账号不就好了吗,开了账号后,然后你会发现开发人员开始抱怨了,我这个账号怎么这个也做不了,那个也做不了?还好我们可以配置sudo,下面简单介绍一下sudo的配置。
1、sudo是什么
sudo允许管理员通过授予某些用户以root或其它用户身份运行某些命令的能力,同时提供命令及参数的审核记录,从而委派权限。
2、sudo配置说明
%wheel ALL=(ALL) ALL
第一个参数(%wheel)定义授权的账号
第二个参数(All) 定义在其上可以运行命令的主机
第三个参数(All) 定义可以执行命令的用户名,一般默认是root
第四个参数 (All) 定义可以运行的程序
3、配置例子
给每个开发人员创建一个账号
adduser qingcai1
passwd qingcai1
visudo配置账号有sudo权限及日志路径
qingcai1 ALL = (ALL) ALL
Defaults logfile = /var/log/sudo.log
Defaults loglinelen =0
Defaults !syslog
配置系统日志
vim /etc/rsyslog.conf
local2.debug /var/log/sudo.log
touch /var/log/sudo.log
systemctl restart rsyslog
配置好后,使用qingcai1执行 sudo crontab -e
查看日志如下,原来是qingcai1干的好事
Jun 19 15:55:49 : qingcai1 : TTY=pts/0 ; PWD=/usr/local ;
USER=root ; COMMAND=/bin/crontab -e