考虑文件中的以下行/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