我是否需要在 sudoers 中指定用户:组来模拟其他用户

我是否需要在 sudoers 中指定用户:组来模拟其他用户

我试图限制特定用户可以在 sudoers 文件中执行的命令,比如说我有这样的命令:

dummy myserver=(ALL:ALL) /usr/sbin/reboot,/usr/sbin/shutdown

我的虚拟用户只允许重启或关闭系统。我故意允许虚拟用户冒充其他用户,但每次我尝试使用 sudo 的 -u 选项时,例如sudo -u anotheruser whoami

我收到以下错误:

Sorry, user dummy is not allowed to execute '/usr/bin/whoami' as anotheruser on myserver.

我知道我可以在 sudoers 中明确地调出我想要模拟的用户和组,但我很好奇为什么 ALL:ALL 不起作用

我将非常感谢您的回答。

答案1

确实(ALL:ALL)有效,dummy只是不允许你的用户执行whoami。你应该将其添加/usr/bin/whoami到允许的命令列表中。你当前的规则规定dummy可以执行/usr/sbin/reboot/usr/sbin/poweroff作为任何用户和任何组。您可以致电sudo -u anotheruser /usr/sbin/reboot,系统重启失败与须藤

此外,您的系统上可能没有/usr/sbin/reboot/usr/sbin/poweroff可执行文件。这些是必需的命令,因此它们应该位于中/sbin

总结:你的/etc/sudoers文件应该包含如下一行:

dummy myserver=(ALL:ALL) /sbin/reboot, /sbin/poweroff, /usr/bin/whoami

相关内容