Solaris にも pam_wheel.so があれば wheel グループに属しているユーザーしか、su できなくなるのでいいのだが、残念ながら Solaris 8 あたりで廃止されてしまったらしい。このままでは、ブルートフォースなど、何らかの方法でパスワードを入手したユーザーが他のユーザーに su したり、root になったりするのを止められない。
,,,というわけで su コマンドから other に対する実行権限を取り上げ、グループ wheel のみが実行できるようにする。
そもそも wheel グループがないので追加。
$ sudo /usr/sbin/groupadd wheel
$ ls -al /usr/bin/su
$ sudo /usr/bin/chgrp wheel /usr/bin/su
$ sudo /usr/bin/chmod 4550 /usr/bin/su
$ ls -l /usr/bin/su
-r-sr-xr-x 1 root sys 25144 2005-05-25 08:50 /usr/bin/su
↓
-r-sr-x--- 1 root wheel 25144 2005-05-25 08:50 /usr/bin/su
$ ls -l /usr/local/bin/su
$ sudo /usr/bin/chgrp wheel /usr/local/bin/su
$ sudo /usr/bin/chmod 4550 /usr/local/bin/su
$ ls -l /usr/local/bin/su
-r-sr-xr-x 1 root root 66652 2006-04-29 15:16 /usr/local/bin/su
↓
-r-sr-x--- 1 root wheel 66652 2006-04-29 15:16 /usr/local/bin/su
$ ls -l /sbin/su.static
$ sudo /usr/bin/chgrp wheel /sbin/su.static
$ sudo /usr/bin/chmod 0550 /sbin/su.static
$ ls -al /sbin/su.static
-r-xr-xr-x 1 root sys 20736 2005-01-23 11:27 /sbin/su.static
↓
-r-xr-x--- 1 root wheel 20736 2005-01-23 11:27 /sbin/su.static
実行できないことを確認する。
$ /usr/bin/su -
$ /sbin/su.static -
$ /usr/local/bin/su -
-bash: /usr/bin/su: Permission denied
-bash: /sbin/su.static: Permission denied
-bash: /usr/local/bin/su: Permission denied
逆に su を実行させたいユーザーは、wheel グループに追加する。
$ sudo vi /etc/group
--- /etc/group.old
+++ /etc/group
-wheel::102:
+wheel::102:natsu,moja,muku,mei,kemu