如何向“sudoers”文件中的命令添加標誌和/或參數

如何向“sudoers”文件中的命令添加標誌和/或參數

如何添加標誌和/或參數以允許 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 在需要時擴展權限,以便他們可以存取所需的檔案而不會引起問題。

相關內容