/etc/sudoers
ファイルの次の行について考えてみます。
username ALL=(ALL) ALL, !/usr/bin/passwd
私の知る限り、これにより、ユーザーusername
は、/usr/bin/passwd
を使用しない限り、Sudoを使用できます。しかし、明らかに、ユーザーはSudo -s
/Sudo -i
を使用してルートシェルを取得し、好きなことを行うことができます。私はこれを正しく理解しましたか?ユーザーがrootとしてパスワードを変更することを実際に禁止したい場合、より良い構成は何でしょうか。
SELinuxのような追加のセキュリティレベルを使用しないと、これを行うことはできません。しかし、Sudoを介して(ほぼ完全な)root権限を取得できる場合、他のユーザーをロックアウトする可能性は他にもたくさんあるため、これも悪い考えです。
https://serverfault.com/questions/36759/editing-sudoers-file-to-restrict-a-users-commands を参照してください。
Cmnd_Alias recordでこれを行うことができます。あなたの場合の解決策は次のようになります:
Cmnd_Alias PASSWD = /usr/bin/passwd
username ALL=(ALL) ALL, !PASSWD