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


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