「忘れてしまった root パスワードをリセットする」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
15行目: 15行目:
 
== デバッグシェルの使用方法 ==
 
== デバッグシェルの使用方法 ==
   
# {{ic|systemd.debug_shell}} [[カーネルパラメータ]] をブートローダのブートエントリに追加して下さい
+
# {{ic|systemd.debug_shell}} [[カーネルパラメータ]] に追加します
 
# これにより、通常のブートが行われますが、{{ic|tty9}} でルートシェル ({{ic|/bin/sh}}) を実行する {{ic|debug-shell.service}} が開始されます。{{ic|Ctrl+Alt+F9}} を押してアクセスします。
 
# これにより、通常のブートが行われますが、{{ic|tty9}} でルートシェル ({{ic|/bin/sh}}) を実行する {{ic|debug-shell.service}} が開始されます。{{ic|Ctrl+Alt+F9}} を押してアクセスします。
 
# [[ユーザーとグループ#ユーザー管理|passwd]] コマンドを使用して、root ユーザの新しいパスワードを作成します。
 
# [[ユーザーとグループ#ユーザー管理|passwd]] コマンドを使用して、root ユーザの新しいパスワードを作成します。

2024年2月27日 (火) 04:18時点における版

このページでは忘れてしまった root パスワードをリカバリする方法を記述します。複数の方法があります。

警告: 悪意のある人が以下に書かれた方法でシステムに侵入できるかもしれません。OS やパスワードがどれほどセキュアであっても、BIOS パスワードやディスク暗号化の設定をしない限りは、物理的にアクセスできると他の OS を起動できたりデータをさらけ出したりできます。

sudo を使用する

sudo をインストールし、wheel グループまたはパスワードを覚えているユーザに権限を設定した場合、sudo passwd root を実行して root パスワードを変更することができます。

デバッグシェルの使用方法

  1. systemd.debug_shellカーネルパラメータ に追加します。
  2. これにより、通常のブートが行われますが、tty9 でルートシェル (/bin/sh) を実行する debug-shell.service が開始されます。Ctrl+Alt+F9 を押してアクセスします。
  3. passwd コマンドを使用して、root ユーザの新しいパスワードを作成します。
  4. 完了したら debug-shell.service停止 します。

bash を init として使用する場合

  1. ブートローダのブートエントリに init=/bin/bash カーネルパラメータ を追加してください。
  2. ルートファイルシステムが読み込み専用でマウントされているので、読み込み/書き込みで 再マウントしてください。mount -n -o remount,rw /
  3. passwd コマンドを使って、root ユーザの新しいパスワードを作成します。
  4. reboot -f と入力して再起動、パスワードを再度紛失しないようにしてください。
ノート: この方法では init システムでキーボードが正しく読み込まれないことがあり、bash プロンプトで何も入力できなくなります。この場合、他の方法を使う必要があります

LiveCD を使う

LiveCD では、root を変更して passwd コマンドを使う方法と、パスワードファイルを直接編集してパスワードフィールドの入力を消去する方法の2つが利用できます。Linux が動作する LiveCD であれば、どのようなものでも使用できますが、root を変更するためには、インストールされているアーキテクチャの種類と一致する必要があります。パスワードファイルを手動で編集するのはかなり危険なので、ここでは chroot でパスワードをリセットする方法のみを説明します。

Change Root

  1. LiveCD を起動してメインシステムのルートパーティションを マウント して下さい。
  2. passwd --root mountpoint username コマンドでパスワードを再設定します。このとき従来のパスワードは尋ねられません。
  3. ルートパーティションのマウントを解除してください。
  4. 再起動して、先に設定したパスワードを使います。

参照