centos中添加sudo用户和日志

一、背景

linux中root账户权限过大,几乎可以做任何事情,因此我们不应该使用root账户进行日常工作。
linux系统安全的思想就是提供最小的权限供用户完成操作。
使用普通账户时,有时又会遇到权限问题,此时需要提权操作,即以root权限执行命令。sudo不需要root密码,
就能以root权限执行。

二、sudo配置

在centos中,默认配置下普通账户无法使用sudo命令的,会提示:
[test@zzh ftmgr]$ sudo ls /root
[sudo] password for test:
test is not in the sudoers file.  This incident will be reported.
此时我们需要将test这个账户添加到sudoer列表中


1、可以使用visudo命令(visudo实际是使用vi打开/etc/sudoer文件,与vim的编辑相同,并且额外提供了配置语法的检查)
或者用编辑器直接编辑,比如vim,此时在编辑前需要修改sudoer的权限,添加写权限:
[root@zzh etc]# ls -l sudoers
-r--r-----. 1 root root 4002 Mar  2  2012 sudoers
[root@zzh etc]# chmod u+w sudoers

2、在sudoer文件中添加下列:
test  ALL=(ALL)NOPASSWD:NOPASSWD:ALL

test表示需要添加的帐户名
第一个ALL表示所有主机
第二个ALL表示所有账户
第三个ALL表示所有命令
NOPASSWD:NOPASSWD表示不需要输入密码,当需要输入密码时,用tab键替换即可

此时test账户已经可以使用sudo命令了。


3、验证:
[test@zzh etc]$ sudo touch /home/a
[sudo] password for test:
[test@zzh etc]$ ls -l /home/a
-rw-r--r-- 1 root root 0 May 31 20:15 /home/a
[test@zzh etc]$ rm -r /home/a
rm: cannot remove `/home/a': Permission denied
[test@zzh etc]$ sudo rm -r /home/a

三、sudolog配置

由于sudo的权限也很大,我们希望记录下sudo执行过的命令,以供管理员分析用
配置如下:
1、创建log文件
[root@zzh log]# touch /var/log/sudo.log

2、修改配置文件
centos使用的配置文件是rsyslog,其他系统可能使用的是/etc/syslog.conf
[root@zzh log]# vi /etc/rsyslog.conf

添加以下语句:
local2.debug    /var/log/sudo.log


3、重启syslog
[root@zzh log]# /etc/init.d/rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]


4、验证
[test@zzh log]$ sudo ls /root
anaconda-ks.cfg  install.log  install.log.syslog  
[test@zzh log]$ cat /var/log/sudo.log
Jun  1 09:10:09 : test : TTY=pts/1 ; PWD=/var/log ; USER=root ;
    COMMAND=/bin/ls /root


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章