「忘れてしまった root パスワードをリセットする」の版間の差分
ナビゲーションに移動
検索に移動
(bash を init として使用する場合を翻訳して追加) |
(英語版に追従して項目を整理) |
||
32行目: | 32行目: | ||
== LiveCD を使う == |
== LiveCD を使う == |
||
− | + | [[USB インストールメディア|LiveCD]] では、root を変更して {{ic|passwd}} コマンドを使う方法と、パスワードファイルを直接編集してパスワードフィールドの入力を消去する方法の2つが利用できます。Linux が動作する LiveCD であれば、どのようなものでも使用できますが、root を変更するためには、インストールされているアーキテクチャの種類と一致する必要があります。パスワードファイルを手動で編集するのはかなり危険なので、ここでは chroot でパスワードをリセットする方法のみを説明します。 |
|
− | === Change Root |
+ | === Change Root === |
+ | # LiveCD を起動してメインシステムのルートパーティションを [[マウント]] して下さい。 |
||
− | パスワードを変更するときに手動で chroot を実行してもかまいませんが、かわりに {{Ic|passwd --root}} を使うとchroot とパスワード変更を一括して行えます。 |
||
− | |||
− | # LiveCD を起動してルートパーティションを[[マウント]]して下さい。 |
||
# {{Ic|passwd --root ''mountpoint'' ''username''}} コマンドでパスワードを再設定します。このとき従来のパスワードは尋ねられません。 |
# {{Ic|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. 行の終末に {{Ic|1=init=/bin/bash}} を追加して下さい。 |
||
− | |||
− | 4. {{ic|Ctrl-X}} を押して起動します(この変更は一時的なものであり、menu.lst には書き込まれません)。起動後、bash プロンプトが表示されます。 |
||
− | |||
− | 5. ルートファイルシステムが readonly でマウントされているはずなので、read/write でマウントし直します: |
||
− | |||
− | # mount -n -o remount,rw / |
||
− | |||
− | 6. {{Ic|passwd}} コマンドを使って新しい root パスワードを作って下さい。 |
||
− | |||
− | 7. 再起動します。次からはパスワードを忘れないようにしましょう。 |
||
− | |||
− | {{Note|init システムによってキーボードが正しくロードされず、bash プロンプトで何も入力できなくなることがあります。このような場合には、違う方法を使って下さい。}} |
||
== 参照 == |
== 参照 == |
2022年2月7日 (月) 22:37時点における版
このページでは忘れてしまった 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 では、root を変更して passwd
コマンドを使う方法と、パスワードファイルを直接編集してパスワードフィールドの入力を消去する方法の2つが利用できます。Linux が動作する LiveCD であれば、どのようなものでも使用できますが、root を変更するためには、インストールされているアーキテクチャの種類と一致する必要があります。パスワードファイルを手動で編集するのはかなり危険なので、ここでは chroot でパスワードをリセットする方法のみを説明します。
Change Root
- LiveCD を起動してメインシステムのルートパーティションを マウント して下さい。
passwd --root mountpoint username
コマンドでパスワードを再設定します。このとき従来のパスワードは尋ねられません。- ルートパーティションのマウントを解除してください。
- 再起動して、先に設定したパスワードを使います。
参照
- このガイドに例が載っています。