
如何添加標誌和/或參數以允許 sudoers 文件中的用戶運行命令的某些部分,例如僅允許用戶運行sudo rm
而不允許sudo rm -rf
?我用的是14.04
# # 該文件必須以 root 身分使用「visudo」指令進行編輯。 # # 請考慮在 /etc/sudoers.d/ 中新增本地內容,而不是 # 直接修改這個檔案。 # # 有關如何編寫 sudoers 文件的詳細信息,請參閱手冊頁。 # 預設值 env_reset,pwfeedback 預設值 mail_badpass 預設值 secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # 主機別名規範 # 使用者別名規範 # Cmnd 別名規範 # 使用者權限規範 根全部=(全部:全部)全部 Ruby ALL=/usr/bin/apt-get update、/usr/bin/rm、/usr/bin/rmdir、/usr/bin/mkdir # admin群組成員可以獲得root權限 %admin ALL=(全部) 全部 # 允許sudo組成員執行任何指令 %sudo ALL=(全部:全部) 全部 # 有關「#include」指令的更多信息,請參閱 sudoers(5): #includedir /etc/sudoers.d
答案1
正如評論中所述,儘管系統中有細粒度的權限可用,但沒有辦法按照請求的方式控制 sudoers:
https://help.ubuntu.com/community/FilePermissionsACL
但即使這還不夠,您基本上必須用腳本替換所有標準程式庫來過濾標誌。這會很混亂並且可能會破壞系統。
相反,請考慮翻轉問題並創建不需要 sudoers 的用戶。確保他們位於正確的群組中,並使用 ACL 在需要時擴展權限,以便他們可以存取所需的檔案而不會引起問題。