セキュリティ強化のため、特定の一般ユーザのみrootにスイッチできる設定をしたい場合があります。
このような場合はPAM認証で設定することが可能となります。

例として、test1、test2ユーザが下記のように存在しているとします。

[root@cimacoppi ~]# id test1
uid=2001(test1) gid=2001(hoge) 所属グループ=2001(hoge),10(wheel)

[root@cimacoppi ~]# id test2
uid=2002(test2) gid=2001(hoge) 所属グループ=2001(hoge)

test1ユーザはwheelグループに属しています。

設定は /etc/pam.d/su で行います。

vi /etc/pam.d/su

【変更前】

# 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

【変更後】

# 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

上記により、whellグループに属しているユーザのみrootにパスワードなしでログインできます。

実際にテストしてみます。

[root@cimacoppi pam.d]# su - test1
-bash-3.2$ su -
[root@cimacoppi ~]# who
root pts/0

[root@cimacoppi pam.d]# su - test2
-bash-3.2$ su -
パスワード:
su: パスワードが違います

test1ではrootにスイッチできていることがわかります。

こちらの記事はなかの人(be_hase)監修のもと掲載しています。
元記事は、こちら