su をユーザーグループに制限する

su をユーザーグループに制限する

su特定のユーザーグループに制限する方法はありますか?

Web で検索したところ、IBM AIX の という概念に出会いましたsugroup。ユーザーが作成されるたびに属性sugroupを設定でき、このグループのメンバーだけがそのユーザーに su できます。

sugroupsu が許可されている特定のユーザーのみを含むグループを作成することで、問題を解決することができます。割り当てとは、sugroupこのグループ外のユーザーが他のユーザーから su されることを許可しないことを意味します。しかし、この概念はsugroupUbuntu では利用できません。Ubuntu でこれを実現するにはどうすればよいでしょうか?

私は に次のエントリを作成しました/etc/pam.d/su:

auth required pam_wheel.so group=sulogin

以下を作成しました:

  • と呼ばれるグループでsulogin、これはsuを許可されたユーザーのためのものです
  • suloginに所属していないユーザーはuser1user2
  • sulogin所属するユーザーはadmin1admin2

現在、 としてログインし、またはuser1に su しようとしても、実行できません。 これは私の要件によるものです。 としてログインし、 に su しようとしても、実行できません。 これは私の要件によるものではありません (ただし、元の質問では私の要件は明確に述べられていませんでした)。admin1admin2user1user2

グループに属していないすべてのユーザーが、グループsuloginに属するユーザーに対して su を実行できないように制限する必要がありますsulogin。基本的に、2 レベルの su 権限が必要です。したがって、上記のシナリオでは次のようになります。

  • user1できるはずでありsuuser2その逆も同様である
  • user1またはuser2できないはずsuadmin1あるadmin2
  • admin1suできるはずだuser1、またはuser2

答え1

Ubuntu でも同等のことは可能ですが、デフォルトでは有効になっていません。以下を確認してください/etc/pam.d/su:

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

したがって、このauth行のコメントを解除すると、suグループのメンバーに制限されますroot。または、グループgroup=suloginに制限したい場合は、コメントを解除して を追加しますsulogin

関連情報