複数のユーザーグループがパスワードなしで他の複数のユーザーに「su」できるようにする

複数のユーザーグループがパスワードなしで他の複数のユーザーに「su」できるようにする

特定のユーザーグループが特定のユーザーとしてsuコマンドを使用できるようにしたいと思います。

例)

グループ ユーザー
allowsu_aa aa
allowsu_bb bb
allowsu_cc cc

/etc/pam.d/suだから私はファイルに以下を追加しました。

auth            [success=2 default=ignore]        pam_succeed_if.so user = aa
auth            [success=2 default=ignore]        pam_succeed_if.so user = bb
auth            [success=2 default=3]             pam_succeed_if.so user = cc
auth            [success=done new_authtok_reqd=done default=2]      pam_succeed_if.so use_uid user ingroup allowsu_aa
auth            [success=done new_authtok_reqd=done default=1]      pam_succeed_if.so use_uid user ingroup allowsu_bb
auth            [success=done new_authtok_reqd=done default=ignore]      pam_succeed_if.so use_uid user ingroup allowsu_cc

しかし、私が望むように動作しません。

どうすれば修正できますか?

ベストアンサー1

これを行う方法の良い説明は次のとおりです。https://www.tecmint.com/switch-user-account-without-password/ 正常にテストしました(Rocky Linux 9)。 PAMはかなり...複雑です。また、ファイルの構成行の場所にも注意を払う必要があります。ユーザーがtest_groupのメンバーである場合は、パスワードなしでtest_userに切り替えることができます。

cat /etc/pam.d/su
#%PAM-1.0
auth        required    pam_env.so
auth        sufficient  pam_rootok.so
##### START 
auth       [success=ignore default=1] pam_succeed_if.so user = test_user
auth       sufficient   pam_succeed_if.so use_uid user ingroup test_group
##### END
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth       sufficient  pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth       required    pam_wheel.so use_uid
auth        substack    system-auth
auth        include     postlogin
account     sufficient  pam_succeed_if.so uid = 0 use_uid quiet
account     include     system-auth
password    include     system-auth
session     include     system-auth
session     include     postlogin
session     optional    pam_xauth.so

お役に立てば幸いです。

おすすめ記事