是否可以為沒有 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
以取得更多詳細資訊和進階範例