我可以授予單一非 sudo 使用者存取權限以在不使用 sudo 的情況下執行單一命令嗎?

我可以授予單一非 sudo 使用者存取權限以在不使用 sudo 的情況下執行單一命令嗎?

是否可以為沒有 sudo 存取權限的單一使用者提供運行 sudo 受保護命令(如 )的能力chmod

答案1

須藤設定檔儲存在/etc/sudoers檔案和/etc/sudoers.d目錄中。最好添加一個文件,與使用者同名您想要將 sudo 設定為,儘管/etc/sudoers.d您也可以編輯/etc/sudoers.

基本語法是誰在哪裡 = (as_whom) 什麼

例如:

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以取得更多詳細資訊和進階範例

相關內容