【第12回】目指せLinuxマスター(4) ~suの権限~

 皆さん,こんにちは.迷子のエンリュです.

 今回で権限の初期設定はラストです.今回はsuコマンドの権限を設定します.どんなに各コマンドの設定をしたところで,誰でもrootに昇格出来たら意味がありませんからね.具体的にはlogin.defsPAMを変更します.よろしくお願いいたします.

※【2016.11.4 追記】PAMの設定を変更しました.

 以前もPAMについては取り扱いました.suコマンドもPAMを利用しているのですね.もう一つのlogin.defsはログイン処理のときに使用される各アカウントの設定ファイルです.suコマンドを使うときも,この設定ファイルを使ってログイン処理を行います.

 この設定を変更して,wheelグループのメンバー以外にはrootユーザーへのログインを禁止していきます.

メインユーザーをwheelに入れる

 まずは,メインのユーザーがwheelグループに入っているか調べましょう.もし入っていなければusermodコマンドかgpasswdコマンドで加入させます.以前usermodは使いましたので,今回はgpasswdでやってみましょう.

$ groups        # 自分の所属グループを表示
$ gpasswd -a USERNAME wheel        # 所属していなかったら追加

ログイン処理の設定

※最近のCentOSではlogin.defsにSU_WHEEL_ONLYを設定する必要はなくなったそうです(CentOS6.8にて確認)

 今度はlogin.defsをいじっていきます.root権限で開きましょう.

$ sudo vi /etc/login.defs

f:id:LostEnryu:20161101035149p:plain

 色々書いてありますね.コメントも分かりやすく書いてありますので,一度目を通しておくとよいでしょう.今回はこの一番末尾に次のように書きます.

# Only wheel group can su root
SU_WHEEL_ONLY        yes

PAMの設定

 次はPAMの設定を行います.今回は/etc/pam.d/suを開きます.

f:id:LostEnryu:20161101035205p:plain

 2つコメントアウトされている行がありますね.これの下側のコメントを外します.dwでコメントを外しましょう.

# Uncomment the following line to require a user to be in the "wheel" group.
# auth        required        pam_wheel.so use_uid
↑
ここのコメントを外す.dwで1単語削除.

 これで,suコマンドでrootに昇格できるのはwheelメンバーに限定されました.もちろん他のユーザーに切り替えることもできません.

※[2016.11.4 追記]

 次に,root_onlyオプションをつけます.

# root_onlyオプションをつけることで,rootへの昇格のみを制限します
auth        required        pam_wheel.so use_uid root_only

 あとは再起動すれば設定がすべて反映されます.

$ sudo shutdown -r now

 例えば,Bobでログインしてsuコマンドを試してみましょう.

$ su -

f:id:LostEnryu:20161101035227p:plain

 パスワード入力の前にauth認証で弾かれていますから,何を入力しても「パスワードが違います」と表示されます.

参考ページ

次回

 今回の設定はこれで完了です.少し短いですが,今日はここまでです.

 次回はパスワードを強化したいと思います.それでは次回もよろしくお願いいたします.

チュートリアルしながらセキュリティ強化♪

 今回の内容はこちらでもまとめています.

Qiita:目指せLinuxマスター(弐) ~suコマンドの権限~
Previous | Top | Next

Prev: 【第11回】目指せLinuxマスター(3) ~polkitの設定~

Next: 【第13回】情報セキュリティの雪山(1) ~パスワードの強化~

Index
Journey