0

我正在寻找以下解决方案:

允许在 sudoers 文件中执行带有选项 A 的命令,但拒绝带有选项 B 的相同命令:

示例:允许:sudo my_command optionA

不允许这样做:sudo my_command optionB

这可能吗 ?

4

1 回答 1

2

您可以轻松指定允许的参数。

例如,我有一个用户testuser。您必须编辑的文件是/etc/sudoers,但请记住使用visudo命令进行 - 它会验证文件的内容,因此您最终不会出现会阻止您再次执行 sudo 的错字(有时这是访问的唯一方法根帐户)。

所以,输入visudo

假设我想让 test 运行/bin/yes --help。除了root之外,我没有x其他任何用户的权利。

您要添加的是:

testuser ALL=(ALL) /bin/yes --help

这意味着testuser可以/bin/yes --help以任何用户身份从任何主机运行。默认情况下,sudo /bin/yes --help会要求输入testuser密码。sudo /bin/yes会给access denied

如果您想在不提供密码的情况下允许它,请将该行替换为:

testuser ALL=(ALL) NOPASSWD: /bin/yes --help

请注意,您不能明确拒绝参数。如果testuser是默认 sudoers 组的成员,则此方法将不起作用。

于 2015-01-05T13:44:04.957 回答