如何在“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"

# 主机别名规范

# 用户别名规范

# 命令别名规范

# 用户权限规范
根 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 在需要时扩展权限,以便他们可以访问所需的文件而不会引起问题。

相关内容