注:使用sudo必須要root在/etc/sudoers中授權
一、授權方法:
1、vim /etc/sudoers
2、visudo
二、授權格式:
用戶賬號 登陸的主機 = (可以變換的身份) 可以執行的命令
例:
# root和user01用戶還有wheel組成員可以在任何主機變成任何Linux本機上具有的所有賬號,並執行所有命令。
root ALL=(ALL) ALL
user01 ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
# 假如系統中有一個web軟件是以www這個用戶來進行管理的,想要讓vbird用戶可以用www這個賬號身份進行管理,那麼應該寫成:
vbird ALL=(www) ALL
# wheel組可以不需要輸入密碼,直接使用sudo執行命令
%wheel ALL=(ALL) NOPASSWD: ALL
# 別名。別名必須爲大寫!!!
# 爲vbird, dmtsai, vbird1, user01創建一個組,名稱爲ADMPW。
# ADMPW這個組可以不需要輸入密碼更改用戶密碼,但是不能更改root的密碼。
User_Alias ADMPW = vbird, dmtsai, vbird1, user01
ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \
!/usr/bin/passwd root
# 爲user01, dmtsai, vbird創建一個組,名稱爲DNSADM。
# 把可以執行的命令起一個別名爲DNSCMD,用於管理named
User_Alias DNSADM = user01, dmtsai, vbird
Cmnd_Alias DNSCMD = /etc/init.d/named, /usr/bin/vim /var/named/*
DNSADM ALL = DNSCMD
# 因爲sudo只能執行一次命令,所以將sudo和su一起使用
User_Alias ADMPW = vbird, dmtsai, vbird1, user01
ADMPW ALL = /bin/su
# 如此一來,在ADMPW內的用戶就可以用“sudo su - ”來切換身份成爲root了
三、使用方法:
sudo [-u [username|#uid]] command
# 來自鳥哥私房菜。