rootパスワードを忘れた時の対処

2010/02/12PC::Linux/BSD

rootパスワードを忘れた時の対処メモ。

環境

  • VMware Player 3.0.0
    • Debian GNU/Linux 5.0(lenny)/i386

手順

1. GRUBメニューで"E"を入力し、編集モードへ移行する。

deb-chrootpass1.jpg

2. kernel行にフォーカスを写し、さらに"E"を入力し、既存kernel行を編集する

deb-chrootpass2.jpg

3. "S init=/bin/sh"を追加する

deb-chrootpass3.jpg

この追加した部分の意味は以下の通り。

  • S: シングルユーザーモード(ランレベル1)で起動
  • init=/bin/sh: initプロセスの代わりに、/bin/sh(シェル)を直接起動する

編集が完了したら"Enter"を入力し、変更を反映させる。

4. "B"を入力し、変更したパラメータで起動させる。

deb-chrootpass4.jpg

5. rootでシェルに入ることができるようになっているので、passwdコマンドで新しいrootパスワードへ変更する。

以下の図では、ルートパーティションがrwとなっていることを確認するためにmountコマンドを実行しています。

deb-chrootpass5.jpg

このとき、キーボードが英語になっているので注意すること。

私は、簡単なパスワードで設定しておき、通常起動させた後(日本語キーボードして認識させた後)にパスワードを再度設定し直すことにしました。

パスワード変更後は再起動させればいいのですが、/sbin/shutdownを実行しても再起動できません。rebootコマンドで再起動することができます*1

*1 : あるいは、Ctrl+Alt+Deleteでも再起動できます