root把本來只能超級使用者執行的命令賦予普通使用者執行
sudo的操作物件是系統命令
1、visudo
root賦予普通使用者執行超級命令的許可權
visudo
實際是開啟
/etc/sudoers
檔案
/etc/sudoers
檔案配置語法
user ALL=(ALL) ALL
user: 普通使用者賬戶
第一個ALL: 被管理主機的地址
第二個ALL(括號裡面的): 可使用的身份,即user轉換成哪些身份,預設root,可以不寫
第三個ALL: 授權的命令,預設ALL,如果想指定某些命令,最好用絕對路徑指定相應的命令
- 關於第三個ALL
命令指定可以寫詳細的命令選項,當寫上詳細的命令選項,則使用者獲取的許可權越小,命令指定的越簡單,則使用者獲取的許可權則越大
- 例子
用超級使用者執行visodu命令
[root@localhost ~]# visodu
賦予user使用者重啟許可權
... ...
user ALL=(ALL) /sbin/shutdown -r now
user下檢視自己的超級命令許可權
[user@localhost ~]$ sudo -l
執行重啟命令
[user@localhost ~]$ sudo /sbin/shutdown -r now
2、普通使用者檢視自己能夠執行的超級命令
sudo -l
3、授權普通使用者可以新增其他使用者
user ALL=/sbin/useradd
user ALL=/bin/passwd
- 第二行相當危險
[user@localhost ~]$ sudo /bin/passwd root
上面是可以執行的,root就送給user使用者了
- 要改成
user ALL=/usr/sbin/useradd
user ALL=/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
本作品採用《CC 協議》,轉載必須註明作者和本文連結