1、 Linux用戶管理用戶提權命令sudo
sudo可以讓普通用戶擁有以root權限去執行命令。
2、 sudo提權配置文件及使用語法
配置sudo必須通過編輯/etc/sudoers文件,而且只有超級用戶纔可以修改它,還必須使用visudo編輯。之所以使用visudo有兩個原因,一是它能夠防止兩個用戶同時修改它;二是它也能進行有限的語法檢查。所以,即使只有你一個超級用戶,你也最好用visudo來檢查一下語法。
2.1 sudo命令參數:
參數 | 說明 |
-l | 列出用戶在主機上可用和禁止的命令 |
-k | 刪除時間戳,再次使用sudo時需要用戶密碼 |
-u | 指定用戶身份 |
-v | 驗證時間戳 |
[user1@localhost ~]$sudo -l 查看用戶可用和禁止的命令
[sudo] password for user1:
Matching Defaults entries for user1 on this host:
User oldgirl may run the following commands on this host:
(ALL) /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm,/usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
2.2 提權配置格式說明:
提權的用戶 | 主機=(運行身份) | 允許和禁止的命令 |
root | ALL=(ALL) | ALL |
3 、sudoers配置文件中的別名分類
1)用戶別名:User Aliases
2)主機別名:Host Aliases
3)身份別名:Runas Aliases
4)命令別名:Command Aliases
4 、sudo配置注意事項
1)命令別名下的成員必須是文件或目錄的絕對路徑。
2)別名名稱包含大寫字母、數字、下劃線(字母必須大寫)。
3)一個別名下有多個成員,成員之間用,逗號隔開,成員必須是真是有效存在的。
4)別名成員受別名類型制約,定義什麼樣類型的別名就要有與之對應的成員匹配。
5)別名規則是每行一個規則,如果一行容不下是可通過 \ 續行。
6)指定切換的用戶身份用()括號括起來,如果省略則默認爲root用戶。
7)如不需要密碼直接運行,應加NOPASSWD:參數
8)禁止某類命令是,在動作命令全家!號,將其放在允許命令的後面。
9)提權用戶如果是用戶組的話,在用戶組前面加%。
5、sudo日誌審計
1、創建sudo日誌文件
[root@oldboy ~]#touch /var/log/sudo.log
2、使用visudo編輯/etc/sudoers配置文件,在最後一行添加如下代碼後保存退出。
(必須用tab分割開)
Defaults logfile=/var/log/sudo.log
3、查看日誌
[root@localhost ~]#tail /var/log/sudo.log
Jun 3 11:27:18 : user1 : TTY=pts/2 ; PWD=/home/oldman ; USER=root ;
COMMAND=/sbin/ifconfig
Jun 4 02:51:42 : user2 : TTY=pts/1 ; PWD=/home/oldgirl ; USER=root ;
COMMAND=list