我希望 Alice 能够以 root 身份运行任何命令,但不能以其他用户身份运行命令

我希望 Alice 能够以 root 身份运行任何命令,但不能以其他用户身份运行命令

假设我有 2 个用户 - “alice”和“bob”,并且想允许“alice”以 root 身份运行任何命令,但不以“bob”或任何其他用户身份运行命令,我可以这样做吗?如果可以,该怎么做?

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

james ALL=(alice) ALL

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

fred ALL=(root)/bin/ls

我怀疑这与 /etc/sudoers 的修改有关,类似于

爱丽丝 ALL=(根) ALL?

答案1

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

如果你能限制 Alice 使用一组有限的已批准的命令,那么你可能可以阻止她成为另一个用户,但随后她以 root 身份运行的每个命令都需要检查是否存在漏洞,从而允许她使用未经批准的程序。但这非常复杂,可能不可行。

答案2

我相信 Linux 的功能可以让您启动进程而无需更改用户,即使 root 也可以。 setcap可能满足您的需要,或者您可能想研究 SELinux。 但是,似乎需要在此领域进行更多的开发工作。 看看这个 Stack Overflow 帖子。

相关内容