ユーザー権限周りの設定
前回は ssh でルートログインを禁止したので、ユーザー権限周りの設定も済ませておく。セキュリティ上、su - よりも sudo の方が、ルートパスワードの入力をしない点で好ましい。そこで、sudo をインストールし、wheel グループにのみ sudo の利用を許可する。なお、debian のデフォルトでは wheel グループが存在しないので、グループも新規作成し、ユーザーを所属させる。
apt-get install sudo groupadd wheel usermod -G wheel hogehoge
検索すると wheel のグループID(gid)を 11 と指定している例がある。他方で Debian のマニュアルには以下のようにあり、プロジェクトやシステムという言葉の射程がわかりにくいものの、0-99 の gid 使わない方がいいようにも思える・・・。私は gid を指定せずにグループを作成した。
0-99:
Debian プロジェクトで共通に割り当てられ、すべての Debian システムで同じ目的のために使われるものです。これらの ID はすべての Debian システムの passwd と group に現れ、base-passwd 更新の際にこの範囲にある ID は自動的に追加されます。静的に割り当てられた uid や gid が必要なパッケージはこの範囲の ID を使わなければなりません。当該パッケージのメンテナは ID を base-passwd のメンテナに割り当ててもらう必要があります。
Debian ポリシーマニュアル 9.2.2
グループが作成でき、ユーザーを所属させられたか、確認する。
cat /etc/group | grep wheel
デフォルトのエディタを nano から vi に変更した後、wheel グループにのみ sudo を許可する。
update-alternatives --config editor 2 visudo #Allow members of group sudo to execute any command #%sudo ALL=(ALL:ALL)ALL %wheel ALL=(ALL:ALL)ALL :wq reboot
su - が使えるのも wheel グループのみにする。
sudo vi /etc/pam.d/su auth required pam_wheel.so :wq
wheel グループに所属させたユーザーのみが sudo 及び su - を使用できるようになった。冒頭に述べた理由から、出来る限り sudo を利用する。