Linux 筆記分享十:sudo 許可權

yuanshang發表於2019-01-08

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 協議》,轉載必須註明作者和本文連結
我們是一群被時空壓迫的孩子。 ---- 愛因斯坦

相關文章