2017年1月17日火曜日

Ubuntu16.04 でシングルユーザモードでログインし root のパスワードを変更する方法

概要

Ubuntu 16.04 で root ユーザのパスワードを忘れてしまいログインできなくなりました
シングルユーザモードという緊急対応用のモードを使うことで変更できたので紹介します
また、今回の環境は VMware ESXi および vCenter を使った仮想環境上を想定しています
作業は Web Client を使っています

環境

  • ESXi 5.5.0
    • CPU: Xeon E5-2690 (Sandy Bridge 世代)
    • Memory: 400GB
  • VMware vCenter Server 5.5.0
  • Ubuntu 16.04

BIOS を有効にする

これは必須ではないですが、やっておいたほうが良いです
というのも GRUB の起動画面で ESC を押して GRUB の設定画面に入る必要があるのですが、Ubuntu の起動が非常に早く GRUB 画面に入ることができません
なので、BIOS 画面に入って抜けるときにはもう ESC を押しておくことで GRUB 画面に入るようにします

VM の設定から「VM Options」タブを開き「Force BIOS Setup」のチェックボックスを ON にしておきます
ubuntu16_password_change1.png

これで VM を起動すると以下のような BIOS の画面になっています
この画面では特に何も設定しません、ただ抜けるだけです
ESC を押すと Exit の画面になるので Enter で抜けます
で、抜けるときに ESC を押しっぱなしにしておきましょう
これを忘れてしまうとわざわざ BIOS 画面にして GRUB の起動画面で ESC を押すという目的が果たせなくなります
ubuntu16_password_change2.png

GRUB 画面に入る

無事 GRUB の起動画面で ESC を押すことに成功すると以下のような GRUB の設定画面に入ることができます
まずこの画面で「Ubuntu」と書いてる行で「e」を押します
ubuntu16_password_change3.png

すると GRUB の起動オプションが表示されます
このいろいろと書かれている中に「linux /vmlinux-xxx root=UUID=xxx …」で始まる行を探します
この行の最後に「1」を追記します
これで設定完了なので、この内容を保存して GRUB から OS を起動します
編集画面を抜けるのは「F10」で抜けることができます
ubuntu16_password_change4.png

起動してパスワードを変更する

無事シングルユーザモードで起動すると以下のような画面になります
一端 Enter を押すとすぐにプロンプトが表示されて root ユーザでログインできた状態になります
ubuntu16_password_change5.png

そしてこの状態で「passwd」コマンドを実行すると新しいパスワードの入力を求められるので二回入力することで root ユーザのパスワードを変更することができます

動作確認

動作確認は何でも OK です
ターミナルでこのまま reboot -h now して OS を再起動してログインプロンプトが表示されたら変更したパスワードでログインできるか確認しても OK です
SSH でログインできるか確認しても良いと思います
SSH の場合は設定ファイルを編集して root ユーザでのパスワードログインができるようにしておきましょう

  • less /etc/ssh/sshd_config
PasswordAuthentication yes

上記になっていれば root ユーザで ssh ログインできるはずです

最後に

Ubuntu 16.04 でシングルユーザモードで root ログインする方法を紹介しました
基本的にはあまりよろしくない緊急時に使う方法になります
通常時の OS 起動がうまくいかない場合などに使うことになると思います

覚えておいて損はない方法なので覚えておくと良いと思います

あと、Ubuntu のバージョンや GRUB のバージョンによって操作方法や設定する方法がだいぶ変わってきます
昔 Ubuntu 10 の時代にもシングルユーザモードを試したことがあったのですが、そのときとはだいぶ操作方法が変わっていたので今後バージョンが上がることで今回紹介した方法ではなくなる可能性が高いのでご注意ください

参考サイト

0 件のコメント:

コメントを投稿