Permissions
從使用者的 sudo 權限中排除命令
考慮文件中的以下行
/etc/sudoers
:username ALL=(ALL) ALL, !/usr/bin/passwd
據我所知,這允許使用者
username
使用 sudo,除非他不使用/usr/bin/passwd
. 但顯然使用者仍然可以使用sudo -s
/獲得 root shellsudo -i
並做他喜歡的任何事情。我是否正確理解了這一點?如果我確實想禁止使用者以 root 身份更改任何密碼,那將是更好的配置。
如果不使用 SELinux 等額外的安全級別,您將無法做到這一點。但這也是一個壞主意,因為如果一個人可以通過 sudo 獲得(幾乎完全的)root 權限,那麼實際上還有很多其他可能性可以將其他使用者鎖定在外面。
請參閱https://serverfault.com/questions/36759/editing-sudoers-file-to-restrict-a-users-commands
您可以使用Cmnd_Alias記錄來執行此操作。在您的情況下,解決方案將類似於:
Cmnd_Alias PASSWD = /usr/bin/passwd username ALL=(ALL) ALL, !PASSWD