执行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 ;