我想让 alice 以 root 身份运行任何命令,但不能以任何其他用户身份运行命令

0 linux security unix sudo macos

假设我有 2 个用户 - 'alice' 和 'bob' 并希望允许 'alice' 以 root 身份运行任何命令,但不能以 'bob' 或任何其他用户身份运行命令,我是否能够做到这一点,如果是这样如何 ?

考虑这个例子,它允许 james 以 alice 的身份运行任何命令

詹姆斯 ALL=(爱丽丝) ALL

或者这个例子允许 fred 以 root 身份运行 ls 命令

fred ALL=(root) /bin/ls

我怀疑这与对 /etc/sudoers 的修改有关,例如

爱丽丝 ALL=(root) ALL ?

Ric*_*lka 5

成为 root 后,您就可以成为任何其他用户。

如果您可以将 alice 限制为一组受限制的已批准命令,您也许可以阻止她成为另一个用户,但是需要检查她以 root 身份运行的每个命令,以查看它们是否存在泄漏,使她可以使用非批准的程序。但这很复杂,而且可能不可行。

  • 没有更简单的方法。`root` 可以在系统上做_任何事情_。任何事物。例如,作为`root`,alice 可以复制`bash`,`chown` 到`bob:users`,并在其上设置setuid 位。这意味着任何运行它的用户都将它作为 `bob` 运行。或者(更容易),`alice` 可以只运行 `su bob` 并且它_会工作_。所有 `sudoers` 允许你做的是将 `alice` 限制为某些 _commands_,但是这些命令中的每一个都以完整的 `root` 权限运行,因此任何这些命令中的任何问题都可以让 `alice` 以 `bob` 身份进行身份验证。 (4认同)