
ファイル内の次の行を考えてみましょう/etc/sudoers
。
username ALL=(ALL) ALL, !/usr/bin/passwd
私の知る限り、これにより、ユーザーはusername
を使用しない限り、sudo を使用できます/usr/bin/passwd
。しかし、どうやらユーザーはsudo -s
/を使用してルート シェルを取得しsudo -i
、好きなことを何でもできるようです。私はこれを正しく理解していますか? 実際にユーザーが root としてパスワードを変更できないようにしたい場合、より良い構成は何でしょうか。
答え1
SELinux のような追加のセキュリティ レベルを使用しないと、これを行うことはできません。ただし、sudo 経由で (ほぼ完全な) ルート権限を取得できる場合、他のユーザーをロックアウトする可能性が実際にたくさんあるため、これも悪い考えです。
見るhttps://serverfault.com/questions/36759/sudoers ファイルを編集してユーザーコマンドを制限する
答え2
これは次のように行うことができますコマンドエイリアス記録します。あなたの場合の解決策は次のようになります:
Cmnd_Alias PASSWD = /usr/bin/passwd
username ALL=(ALL) ALL, !PASSWD