web-dev-qa-db-ja.com

ユーザーのSudo権限からコマンドを除外する

/etc/sudoersファイルの次の行について考えてみます。

username ALL=(ALL) ALL, !/usr/bin/passwd

私の知る限り、これにより、ユーザーusernameは、/usr/bin/passwdを使用しない限り、Sudoを使用できます。しかし、明らかに、ユーザーはSudo -s/Sudo -iを使用してルートシェルを取得し、好きなことを行うことができます。私はこれを正しく理解しましたか?ユーザーがrootとしてパスワードを変更することを実際に禁止したい場合、より良い構成は何でしょうか。

2
moooeeeep

SELinuxのような追加のセキュリティレベルを使用しないと、これを行うことはできません。しかし、Sudoを介して(ほぼ完全な)root権限を取得できる場合、他のユーザーをロックアウトする可能性は他にもたくさんあるため、これも悪い考えです。

https://serverfault.com/questions/36759/editing-sudoers-file-to-restrict-a-users-commands を参照してください。

4
jofel

Cmnd_Alias recordでこれを行うことができます。あなたの場合の解決策は次のようになります:

Cmnd_Alias PASSWD = /usr/bin/passwd
username ALL=(ALL) ALL, !PASSWD
0
Ioo Ieee