忘れてしまった root パスワードをリセットする
このページでは忘れてしまった root パスワードをリカバリする方法を記述します。複数の方法があります。
sudo を使用する
sudo をインストールし、wheel
グループまたはパスワードを覚えているユーザに権限を設定した場合、sudo passwd root
を実行して root パスワードを変更することができます。
デバッグシェルの使用方法
systemd.debug_shell
を カーネルパラメータ に追加します。- これにより、通常のブートが行われますが、
tty9
でルートシェル (/bin/sh
) を実行するdebug-shell.service
が開始されます。Ctrl+Alt+F9
を押してアクセスします。 - passwd コマンドを使用して、root ユーザの新しいパスワードを作成します。
- 完了したら
debug-shell.service
を 停止 します。
bash を init として使用する場合
- ブートローダのブートエントリに
init=/bin/bash
カーネルパラメータ を追加してください。 - ルートファイルシステムが読み込み専用でマウントされているので、読み込み/書き込みで 再マウントしてください。
mount -n -o remount,rw /
- passwd コマンドを使って、root ユーザの新しいパスワードを作成します。
reboot -f
と入力して再起動、パスワードを再度紛失しないようにしてください。
LiveCD を使う
LiveCD では、root を変更して passwd
コマンドを使う方法と、パスワードファイルを直接編集してパスワードフィールドの入力を消去する方法の2つが利用できます。Linux が動作する LiveCD であれば、どのようなものでも使用できますが、root を変更するためには、インストールされているアーキテクチャの種類と一致する必要があります。パスワードファイルを手動で編集するのはかなり危険なので、ここでは chroot でパスワードをリセットする方法のみを説明します。
Change Root
- LiveCD を起動してメインシステムのルートパーティションを マウント して下さい。
passwd --root mountpoint username
コマンドでパスワードを再設定します。このとき従来のパスワードは尋ねられません。- ルートパーティションのマウントを解除してください。
- 再起動して、先に設定したパスワードを使います。
参照
- このガイドに例が載っています。
- Early Debug Shell