我如何添加标志和/或参数以允许 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" # 主机别名规范 # 用户别名规范 # 命令别名规范 # 用户权限规范 根 ALL=(全部:全部) 全部 Ruby ALL=/usr/bin/apt-get update,/usr/bin/rm,/usr/bin/rmdir,/usr/bin/mkdir # admin 组的成员可以获得 root 权限 %admin 全部=(全部) 全部 # 允许 sudo 组成员执行任何命令 %sudo ALL=(全部:全部) 全部 # 有关“#include”指令的更多信息,请参阅 sudoers(5): #includedir /etc/sudoers.d
答案1
正如评论中所述,尽管系统中提供了细粒度的权限,但没有办法按照请求的方式控制 sudoers:
https://help.ubuntu.com/community/FilePermissionsACLs
但即使这样还不够,你基本上必须用脚本替换所有标准程序库来过滤标志。这会很混乱,并可能破坏系统。
相反,考虑转换问题并创建不需要 sudoers 的用户。确保他们属于正确的组,并使用 ACL 在需要时扩展权限,以便他们可以访问所需的文件而不会引起问题。