Permissions
我可以授予單個非 sudo 使用者訪問權限以在沒有 sudo 的情況下執行單個命令嗎?
是否可以讓沒有 sudo 訪問權限的單個使用者能夠執行受 sudo 保護的命令,例如
chmod
?
sudo配置文件儲存在
/etc/sudoers
文件和/etc/sudoers.d
目錄中。儘管您也可以編輯./etc/sudoers.d``/etc/sudoers
基本語法是who where = (as_whom) what
例如:
root ALL = (ALL:ALL) ALL
menas 允許使用者
root
在任何主機上執行 (ALL = ) 作為任何使用者:組 (ALL:ALL) 任何命令 (ALL)在您的情況下,您需要執行以下操作:
echo "ltd_user ALL=NOPASSWD:/bin/cat, PASSWD:/bin/chmod" > /etc/sudoers.d/ltd_user
這使使用者
ltd_user
有權在cat
不輸入密碼的情況下以及chmod
在輸入密碼後在任何主機上以任何使用者身份執行在您創建文件後,
/etc/sudoers.d
您應該將權限設置為 440chmod 440 /etc/sudoers.d/ltd_user
另請注意,我給出了一個非常基本的範例(因此使用了 echo 和重定向),但使用
visudo
命令編輯 sudo 配置文件是一種很好的做法,這可以確保一次只有一個人在編輯文件,並且具有適當的權限, 如果所做的更改存在語法錯誤,則拒絕寫出文件並退出。visudo -f /etc/sudoers.d/ltd_user
man sudoers
有關更多詳細資訊和高級範例,請參閱