执行visudo命令来编辑/etc/sudoers,visudo会检查语法。
如果在生产环境中,需要编辑的配置较多,可以直接修改sudoers配置文件,但是保存后,要执行#visudo-c检查语法
如果是centos5.X系统,sudoers的权限,必须是440。centos6.X系统没有这个问题
服务器权限集中管理:
在/etc/sudoers下添加
#定义用户别名
User_AliasADMINS=oldboy,ett,%sa
User_AliasNETADMINS=leo,maya
User_AliasUSERADMINS=zuma
#定义命令别名
##CommandAliases
Cmnd_AliasUSERCMD=/usr/sbin/useradd,/usr/sbin/userdel,\
/usr/bin/passwd[A-Za-z]*,/bin/chown,/bin/chmod
Cmnd_AliasDISKCMD=/sbin/fdisk,/sbin/parted
Cmnd_AliasNETMAGCMD=/sbin/ifconfig,/etc/init.d/network
Cmnd_AliasCTRLCMD=/usr/sbin/reboot,/usr/sbin/halt
#定义可切换角色别名
Runas_AliasOP=root,oldboy
#配置授权
##TheCOMMANDSsectionmayhaveotheroptionsaddedtoit.
ADMINSALL=(ALL)USERCMD,NETMAGCMD,CTRLCMD,DISKCMD
NETADMINSALL=(OP)NOPASSWD:NETMAGCMD
USERADMINSALL=(OP)NOPASSWD:USERCMD
生产环境日志审计解决方案:
1、通过环境变量syslog全部日志审计(信息量太大,不推荐)
2、sudo配合syslog服务,进行日志审计(信息较少,效果不错)
3、在bash解释器嵌入一个监视器,让所有用户使用修改过的bash
4、齐治的堡垒机(商业产品)
以下实验以centos6.x,如果是centos5.x对应服务是syslog
[root@eric6 ~]# uname -a Linux eric6.4 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@eric6 ~]# rpm -qa|grep rsys rsyslog-5.8.10-6.el6.x86_64 [root@eric6 ~]# rpm -qa|grep sudo sudo-1.8.6p3-7.el6.x86_64
配置syslog:
[root@eric6 ~]# echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers [root@eric6 ~]# tail -1 /etc/sudoers Defaults logfile=/var/log/sudo.log [root@eric6 ~]# visudo -c /etc/sudoers:解析正确 [root@eric6 ~]# echo "local2.debug /var/log/sudo.log">>/etc/rsyslog.conf [root@eric6 ~]# tail -1 /etc/rsyslog.conf local2.debug /var/log/sudo.log [root@eric6 ~]# /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ] [root@eric6 ~]# ll /var/log/sudo.log
检查日志记录信息:
[root@eric6 ~]# cat /var/log/sudo.log Sep 14 20:13:38 : liuyalei : TTY=pts/0 ; PWD=/home/liuyalei ; USER=root ; COMMAND=/bin/su -root Sep 14 20:13:42 : liuyalei : TTY=pts/0 ; PWD=/home/liuyalei ; USER=root ;