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