Ubuntu 16.04: rootでログインする

Ubuntuではデフォルトでrootでログインすることができません。通常はrootでログインは必要ありません。sudoで十分なはずです。rootでログインする必要が生じた場合のために、この記事ではrootでログインする方法について記載します。

1 sudoとsuでrootに切り替える

sudoとsuと組み合わせるでrootのプロンプトに切り替えることができます。sudo実行時のユーザのパスワードが必要なだけで、rootのパスワードは不要です。

$ sudo su -

2 rootのパスワードを設定する

Ubuntuではデフォルトでrootはパスワードが設定されておらず、アカウントはロックされています。rootのパスワードを設定することでロックが解除され、Ctrl + Alt + F1などのttyでrootのログインが可能となります。

$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

以下のコマンドを実行することでrootアカウントをロックできます。

$ sudo passwd -l root

3 sshdでrootのパスワードログインを許可する

Ubuntuのsshdはrootのパスワードログインを許可していません。リモートからsshd経由でrootへログインするにはSSH公開鍵を使うべきです。

rootのパスワードを設定した状態で以下を実行することで、リモートからsshd経由でrootへログインできるようになります。

$ sudo sed -e 's/^PermitRootLogin prohibit-password/PermitRootLogin yes/g' \
-i /etc/ssh/sshd_config
$ sudo systemctl restart sshd

4 デスクトップ環境にrootでログインする

rootのパスワードを設定した状態で以下を実行することで、lightdmのログイン画面からrootのログインが可能になります。

$ echo 'greeter-show-manual-login=true' | \
sudo tee -a /etc/lightdm/lightdm.conf
$ sudo cp /etc/skel/\.[^\.]* /root/
$ sudo systemctl restart lightdm

ログイン画面でユーザにrootを入力してパスワードログインします。

0001_greeter-show-manual-login.png