suコマンドを実行可能なユーザーを限定するには
一般的なLinuxディストリビューションでは、rootのパスワードさえ知っていれば、どんなユーザーでもsuコマンドでroot権限を取得することができ、セキュリティ上好ましくない。
最近のディストリビューションではPAMが利用されているので、suコマンドを実行することができるユーザーを限定するには、wheelというグループに属するユーザーだけがsuコマンドでスーパーユーザーになれるように設定する。
まず、rootでログインして、/etc/login.defsに以下の行を追加する。
SU_WHEEL_ONLY yes |
次に、/etc/pam.d/suの先頭に以下の行を追加する。
auth required /lib/security/pam_wheel.so
group=wheel |
続いて、/etc/groupのwheelグループにroot権限を取得できるユーザーIDを追加する。具体的には以下のとおりだ。
wheel:x:10:root,ユーザーID |
以上で設定は終了だ。
# shutdown -r now |
このコマンドでシステムを再起動すれば、上記の設定を行ったユーザーだけがsuコマンドでスーパーユーザーになれる。設定されていないユーザーがsuコマンドを実行して正しいパスワードを入力しても、パスワードが違うという旨のメッセージが表示される。