ユーザー権限周りの設定

前回は 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 を利用する。