Tecmint.comは10月19日(米国時間)、「4 Ways to Disable Root Account in Linux」において、Linuxでrootアカウントを利用できないようにする4つの方法を紹介した。rootユーザーには高い権限が与えられているため、rootユーザーで誤った操作を行うと簡単にシステムを破壊することができる。こうしたミスを回避する手段として、rootユーザーを無効にすることがある。
紹介されている方法は次のとおり。
rootのシェルを変更する
rootユーザーのシェルをnologinに変更する。/etc/passwdファイルを編集して、rootのシェルが/bin/bashとなっているところを/sbin/nologinまたは/usr/sbin/nologinへ変更する。nologinのパスはディストリビューションごとに異なっているため、状況に合わせて適切なパスを使用する。
sudo vi /etc/passwd
TTY経由でのrootログインを禁止する
TTYの設定を変更してrootログインを禁止する。この設定でlogin、gdm、kdm、xdmやTTYを起動するネットワークサービス経由でのログインを禁止することができる。設定は次のように変更する。
sudo mv /etc/securetty /etc/securetty.orig
sudo touch /etc/securetty
sudo chmod 600 /etc/securetty
SSH rootログインを禁止する
sshdの設定ファイルを変更してrootによるログインを禁止する。設定は次のように変更する。
sudo vi /etc/ssh/sshd_config
設定変更後は次のようにsshdを再起動する。
sudo systemctl restart sshd
または
sudo service sshd restart
PAM経由のrootアクセスを禁止する
認証モジュールであるPAMでrootアクセスを禁止する。/etc/pam.d/以下にあるloginファイルなど、関連するファイルに次のように設定を追加する。
sudo vi /etc/pam.d/login
設定で指定したファイルにrootを追加する。
sudo vi /etc/ssh/deniedusers
rootを追加したら次のようにパーミッションを変更する。
sudo chmod 600 /etc/ssh/deniedusers
なお、rootユーザーを無効にした場合もroot権限で操作する方法を残しておかないと、さまざまな操作が不能になる可能性がある。作業を実施する場合は、root権限で操作する方法を確保してから行うことが望まれる。