ルート無し運用

openSUSEはsuでroot shellに入って管理するスタイルで、一般ユーザパスワードのほかにルートパスワードがあるポリシーだが、ubuntuのような管理権限ユーザ+sudoの方がWindowsに近く慣れているので切り替えた。
参考にしたのは以下のページ。
サービスをセキュアにするための利用制限(3)〜管理者権限の制限のためのsuとsudoの基本〜:止められないUNIXサーバのセキュリティ対策(5) - @IT
UbuntuTips/Others/RootSudo - Ubuntu Japanese Wiki


手順は以下の通り。


ユーザをwheelグループに追加

gpasswd -a user_name wheel

この状態で一度ログアウトしてちゃんと追加されているか確認する。


visudoで以下の行をコメントアウト

Defaults targetpw # ask for the password of the target user i.e. root
ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!

これで、sudoする時にターゲットパスワードではなく現在のユーザーのパスワードを使用するようになる。


wheelグループに昇格権限を与えるためにvisudoで下記の行のコメントアウトを外す

%wheel ALL=(ALL) ALL

ここまでやると、sudoがユーザパスワードで実行可能となる。


適当な特権が必要なコマンドを実行して間違いなく設定できていることが確認できたら、rootアカウントをロックする。

sudo usermod -p '!' root


suして昇格できなければOK