今日、開発サーバの権限管理を強化していたのだが、その際にrootユーザーにsuできるユーザーを限定しようとして苦労した
対象サーバはLinuxで
①/etc/login.defsにて「SU_WHEEL_ONLY yes」を追加
②wheelグループにrootへsuできるユーザーを追加
③/etc/pam.d/suにて「auth required /lib/security/pam_wheel.so use_uid」を追加
というのがよくある手順なのだが、これをしてしまうとwheelユーザーに属していないユーザーは一切suができない状態になってしまう。
rootユーザーにはなってほしくないけど、作業用のユーザーにはsuできて欲しいということができなくなるんですな。
色々と試行錯誤したり情報を探した結果、手順③が間違っていたことがわかった。正解は
③/etc/pam.d/suにて「auth required /lib/security/pam_wheel.so root_only」を追加
だった。
最初の手順がよく掲載されているのは、たしかにwheelグループ以外のユーザーはrootにsuできないので、皆、ここで満足してしまうからではないだろうか。まさかsu自体は制限できなくなるなんて思いもしなかったのではないか?と思われます。