从用户的 sudo 权限中排除命令

从用户的 sudo 权限中排除命令

考虑文件中的以下行/etc/sudoers

username ALL=(ALL) ALL, !/usr/bin/passwd

据我所知,这允许用户username使用 sudo,除非他不使用/usr/bin/passwd.但显然用户仍然可以使用sudo -s/获得 root shellsudo -i并做任何他喜欢做的事情。我的理解正确吗?如果我确实想禁止用户以 root 身份更改任何密码,那么更好的配置是什么?

答案1

如果不使用 SELinux 等附加安全级别,您就无法做到这一点。但这也是一个坏主意,因为如果一个人可以通过 sudo 获得(几乎完整的)root 权限,那么确实有很多其他可能性将其他用户锁定。

https://serverfault.com/questions/36759/editing-sudoers-file-to-restrict-a-users-commands

答案2

你可以这样做Cmnd_别名记录。在你的情况下,解决方案将是这样的:

Cmnd_Alias PASSWD = /usr/bin/passwd
username ALL=(ALL) ALL, !PASSWD

相关内容