[root@cs6 ~]# visudo?提示:如果kevin用戶被授予上述權(quán)限,那么它可在所有的機(jī)器上以所有的角色運(yùn)行useradd、userdel命令,而oldboy用戶別會(huì)擁有和root相同的權(quán)限,并且可以切換到root賬戶。如果是針對(duì)用戶組,則對(duì)應(yīng)的授權(quán)命令如下:??%用戶組 機(jī)器=(授權(quán)使用哪個(gè)角色的權(quán)限) /usr/sbin/useradd????? ?通過(guò)sudo進(jìn)行系統(tǒng)授權(quán)管理的目的:即能讓運(yùn)維人員干活,又不會(huì)威脅系統(tǒng)安全,還可以審計(jì)用戶使用sudo的提權(quán)操作命令,默認(rèn)的用戶是無(wú)法獲得root權(quán)限的。?? ?為了管理方便,工作中可以對(duì)lewen授權(quán)ALL權(quán)限,即可以管理整個(gè)系統(tǒng),平時(shí)可以使用lewen用戶處理工作,而不使用root用戶。?例如:工作中有批量管理用戶的需求,若使用快速操作命令增加sudo授權(quán),則需要單獨(dú)執(zhí)行語(yǔ)法檢查,快速操作命令如下:
lewen ALL=(ALL) ALL #<==此行是98行,將lewen提權(quán)為root身份。kevin ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel #<==授權(quán)kevin 可以以root身份添加和刪除用戶權(quán)限。 #<==分別對(duì)lewen和kevin兩個(gè)用戶做不同的授權(quán) user MACHINE= COMMANDSlewen ALL=(ALL) /usr/sbin/useradd、/usr/sbin/userdel
\cp /etc/sudoers /etc/sudoers.oriecho "lewen ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoerstail -l /etc/sudoers?? ?進(jìn)行上述操作時(shí)直接追加內(nèi)容到sudoers文件,沒(méi)有進(jìn)行語(yǔ)法檢查,因此需要單獨(dú)執(zhí)行語(yǔ)法檢查命令。?
[root@cs6 ~]# visudo -c/etc/sudoers: parsed OK
[root@cs6 ~]# su lewen[lewen@cs6 root]$ lsls: cannot open directory .: Permission denied[lewen@cs6 root]$ sudo lscentos6_10.iso dev_sdb1.img fav.jpg lewen.log lewen.nc nohup.out test.data test.test_u test.txt #log web.sh[lewen@cs6 root]$通過(guò)sudo授權(quán)管理之后,所有用戶執(zhí)行授權(quán)的特殊權(quán)限格式為“sudo命令”。如果需要切換到root執(zhí)行相關(guān)操作,則可以通過(guò)“sudo su -”命令,注意,此命令提示的密碼為當(dāng)前用戶的密碼,而不是root的密碼。執(zhí)行“sudo -l”命令可以查看當(dāng)前用戶被授予的sudo權(quán)限集合。
[kevin@cs6 root]$ sudo ls[sudo] password for kevin:Sorry, user kevin is not allowed to execute '/bin/ls' as root on cs6.[kevin@cs6 root]$ sudo -l[sudo] password for kevin:Matching Defaults entries for kevin on this host: !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep ="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep ="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep ="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep ="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin User kevin may run the following commands on this host: (ALL) /usr/sbin/useradd, (ALL) /usr/sbin/userdel對(duì)于Linux系統(tǒng)bash的內(nèi)置命令,一般無(wú)法進(jìn)行sudo授權(quán),例如:cd命令。sudo 授權(quán)與su切換的原理示意圖如圖7-1所示。
[root@cs6 ~]# ll /var/db/sudo/total 8drwx------. 2 root kevin 4096 May 12 11:30 kevindrwx------. 2 root sa 4096 May 12 11:05 lewen?? ?待用戶執(zhí)行sudo并且輸入密碼之后,用戶會(huì)獲得一張默認(rèn)存活期為5分鐘的“人場(chǎng)券”(默認(rèn)值可以在編譯的時(shí)候改變)。但超時(shí)以后,用戶就必須重新輸入密碼了。?? ?可以使用sudo的-k或-K參數(shù)清空sudo用戶的時(shí)間戳,這樣還會(huì)提示輸入密碼,但是如果配置授權(quán)對(duì)應(yīng)用戶時(shí)加了NOPASSWD選項(xiàng),那么執(zhí)行sudo命令時(shí)則永久不會(huì)提示輸入密碼了。?sudo的配置文件/etc/sudoers通過(guò)以下命令可以看到sudo的配置文件/etc/sudoers里的內(nèi)容。
[root@cs6 ~]# ll /etc/sudoers-r--r-----. 1 root root 3841 May 12 11:07 /etc/sudoers?? ?建議用visudo編輯該文件,因?yàn)樵撁钣姓Z(yǔ)法檢查,否則一旦出錯(cuò)了,普通用戶就無(wú)法使用sudo了。直接在命令行執(zhí)行visudo 即可自動(dòng)打開(kāi)/etc/sudoers文件。如果通過(guò)vi來(lái)編輯/etc/sudoers,則保存時(shí)要用“wq!”來(lái)強(qiáng)制保存,否則會(huì)提示只讀不能保存的錯(cuò)誤,而且最后還要用visudo -c進(jìn)行語(yǔ)法檢查,這樣實(shí)在太麻煩!??來(lái)源:http://www.icode9.com/content-4-188751.html
聯(lián)系客服