「忘れてしまった root パスワードをリセットする」の版間の差分
(デバッグシェルの使用方法を翻訳して追加) |
(bash を init として使用する場合を翻訳して追加) |
||
20行目: | 20行目: | ||
# [[ユーザーとグループ#ユーザー管理|passwd]] コマンドを使用して、root ユーザの新しいパスワードを作成します。 |
# [[ユーザーとグループ#ユーザー管理|passwd]] コマンドを使用して、root ユーザの新しいパスワードを作成します。 |
||
# 終わったら [[停止]] して。{{ic|debug-shell.service}} を実行します。 |
# 終わったら [[停止]] して。{{ic|debug-shell.service}} を実行します。 |
||
+ | |||
+ | == bash を init として使用する場合 == |
||
+ | |||
+ | # ブートローダのブートエントリに {{ic|1=init=/bin/bash}} [[カーネルパラメータ]] を追加してください。 |
||
+ | # ルートファイルシステムが読み込み専用でマウントされているので、読み込み/書き込みで 再マウントしてください。{{ic|mount -n -o remount,rw /}} |
||
+ | # [[ユーザーとグループ#ユーザー管理|passwd]] コマンドを使って、root ユーザの新しいパスワードを作成します。 |
||
+ | # {{ic|reboot -f}} と入力して再起動、パスワードを再度紛失しないようにしてください。 |
||
+ | |||
+ | {{Note|この方法では init システムでキーボードが正しく読み込まれないことがあり、bash プロンプトで何も入力できなくなります。この場合、他の方法を使う必要があります}} |
||
== LiveCD を使う == |
== LiveCD を使う == |
2022年2月7日 (月) 22:30時点における版
このページでは忘れてしまった root パスワードをリカバリする方法を記述します。複数の方法があります。
目次
sudo の使い方
sudo をインストールし、wheel
グループまたはパスワードを覚えているユーザに権限を設定した場合、sudo passwd root
を実行して root パスワードを変更することができます。
デバッグシェルの使用方法
systemd.debug_shell
を カーネルパラメータ に追加してください。- これは通常のブートですが、
/bin/sh
を起動し、tty9
でルートシェル (/bin/sh
) を実行します。Ctrl+Alt+F9
を押すとアクセスできます。 - passwd コマンドを使用して、root ユーザの新しいパスワードを作成します。
- 終わったら 停止 して。
debug-shell.service
を実行します。
bash を init として使用する場合
- ブートローダのブートエントリに
init=/bin/bash
カーネルパラメータ を追加してください。 - ルートファイルシステムが読み込み専用でマウントされているので、読み込み/書き込みで 再マウントしてください。
mount -n -o remount,rw /
- passwd コマンドを使って、root ユーザの新しいパスワードを作成します。
reboot -f
と入力して再起動、パスワードを再度紛失しないようにしてください。
LiveCD を使う
LiveCD を使ってリカバリする方法は2つあります: change root と passwd
コマンドを使う方法、またはパスワードエントリを消去する方法ですが、前者の方法がより安全です。アーキテクチャが一致していれば、どの Linux の LiveCD でも使うことができます。
Change Root と passwd を使う方法
パスワードを変更するときに手動で chroot を実行してもかまいませんが、かわりに passwd --root
を使うとchroot とパスワード変更を一括して行えます。
- LiveCD を起動してルートパーティションをマウントして下さい。
passwd --root mountpoint username
コマンドでパスワードを再設定します。このとき従来のパスワードは尋ねられません。- ルートパーティションのマウントを解除してください。
- 再起動して、先に設定したパスワードを使います。
パスワードエントリを消去する方法
1. LiveCD を起動しルートパーティション(/)をマウントしてください:
mkdir /mnt/arch mount /dev/sda2 /mnt/arch
2. 好きなエディタでパスワードを編集します。vim の場合:
vim /mnt/arch/etc/shadow
3. root 行の2番目の項目を削除してください (vim では項目の最初の文字まで移動し d/:/ とタイプしてから Enter を押す):
root:$1$9gDquXRP$gbOHLXuqslL.rw81q4pHc1:14589::::::
4. ファイルを保存します。 (:x in vim).
5. 再起動します。root ログインにパスワードは要求されなくなっているはずです。
Bash を起動するために GRUB を使う
1. 起動時、GRUB メニューから適切なブートエントリを選び e を押します。
2. kernel 行を選びもう一度 e を押して編集に入ります。
3. 行の終末に init=/bin/bash
を追加して下さい。
4. Ctrl-X
を押して起動します(この変更は一時的なものであり、menu.lst には書き込まれません)。起動後、bash プロンプトが表示されます。
5. ルートファイルシステムが readonly でマウントされているはずなので、read/write でマウントし直します:
# mount -n -o remount,rw /
6. passwd
コマンドを使って新しい root パスワードを作って下さい。
7. 再起動します。次からはパスワードを忘れないようにしましょう。
参照
- このガイドに例が載っています。