グループSudo
のユーザーのコマンドsu
とstaff
を無効にしたい。
だから私はこれを/etc/sudoers
に入れました:
%staff ALL=ALL, !/usr/bin/Sudo,!/usr/bin/su
しかし、グループSudo
のユーザーに対しては、su
のみが機能し、staff
が引き続き機能することがわかりました。
私もこれを試しました:
%staff ALL=ALL, !/usr/bin/Sudo
%staff ALL=ALL, !/usr/bin/su
それでも、Sudo
では機能しますが、su
では機能しません。
どうすればこれを修正できますか?
su
はSudo
...ではありません。これらは2つの別個のツールであり、動作が大きく異なります。
su
は、/etc/sudoers
とは無関係であるため、その影響を受けません。
su
-rootパスワードが必要であり、ユーザーがユーザー名root
を使用してログインしようとしたかのように "as" rootを認証できるようにします。Sudo
-使用者が自分のIDを証明し(たとえば、自分のパスワードを再入力することによって)、特定のタスクのroot権限を引き受けることができます。"disable" su
、(おそらくお勧めできません)を実行したい場合は、実行フラグを削除するか、システムから削除する必要があります。
su
が問題になるのはなぜですか? root
アカウントにパスワードはありますか? (わかりませんが、そうでない場合は、su
が認証を要求しない可能性があります)。
わかりやすくするために、/etc/sudoers
はSudo
で実行されるコマンドの動作に影響を与えます。次に例を示します。
Sudo ${cmd}
Sudo dd ...
Sudo su
-%staff ALL=ALL, !/usr/bin/su
でブロックしているものSudo sudo ...
-%staff ALL=ALL, !/usr/bin/Sudo
でブロックしているものsu
の使用を実際に「禁止」することはできません。ただし、これを使用してroot権限を取得するには、rootのパスワードが必要です。
逆に、Sudo
を使用すると、独自の資格情報を使用するだけでルートアクセスを取得できます。したがって、これは、それぞれ信頼できるユーザー(ここでは、グループstaff
のユーザー)のみに制限したいものです。