Permissions

我可以授予單個非 sudo 使用者訪問權限以在沒有 sudo 的情況下執行單個命令嗎?

  • October 26, 2021

是否可以讓沒有 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您應該將權限設置為 440

chmod 440 /etc/sudoers.d/ltd_user

另請注意,我給出了一個非常基本的範例(因此使用了 echo 和重定向),但使用visudo命令編輯 sudo 配置文件是一種很好的做法,這可以確保一次只有一個人在編輯文件,並且具有適當的權限, 如果所做的更改存在語法錯誤,則拒絕寫出文件並退出。

visudo -f /etc/sudoers.d/ltd_user

man sudoers有關更多詳細資訊和高級範例,請參閱

引用自:https://unix.stackexchange.com/questions/674824