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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「http://www.howtoforge.com/」を「https://www.howtoforge.com/」に置換)
(英語版と同期、注意喚起などを追加)
7行目: 7行目:
 
[[zh-hans:Password Recovery]]
 
[[zh-hans:Password Recovery]]
 
このページでは忘れてしまった root パスワードをリカバリする方法を記述します。複数の方法があります。
 
このページでは忘れてしまった root パスワードをリカバリする方法を記述します。複数の方法があります。
  +
  +
{{Warning|悪意のある人が以下に書かれた方法でシステムに侵入できるかもしれません。OS やパスワードがどれほどセキュアであっても、BIOS パスワードや[[ディスク暗号化]]の設定をしない限りは、物理的にアクセスできると他の OS を起動できたりデータをさらけ出したりできます。}}
   
 
== LiveCD を使う ==
 
== LiveCD を使う ==
   
LiveCD を使ってリカバリする方法は2つあります: change root と {{Ic|passwd}} コマンドを使う方法、またはパスワードエントリを消去する方法です。アーキテクチャが一致していれば、どの Linux の LiveCD でも使うことができます。
+
LiveCD を使ってリカバリする方法は2つあります: [[chroot|change root]] と {{Ic|passwd}} コマンドを使う方法、またはパスワードエントリを消去する方法ですが、前者の方法がより安全です。アーキテクチャが一致していれば、どの Linux の LiveCD でも使うことができます。
   
 
=== Change Root と passwd を使う方法 ===
 
=== Change Root と passwd を使う方法 ===
   
  +
パスワードを変更するときに手動で chroot を実行してもかまいませんが、かわりに {{Ic|passwd --root}} を使うとchroot とパスワード変更を一括して行えます。
# LiveCD を起動して [[Change Root|change root]] して下さい。
 
  +
# {{Ic|passwd}} コマンドでルートパスワードを再設定します。
 
  +
# LiveCD を起動してルートパーティションを[[マウント]]して下さい。
# [[Change Root|change root]] を終了してください。
 
  +
# {{Ic|passwd --root ''mountpoint'' ''username''}} コマンドでパスワードを再設定します。このとき従来のパスワードは尋ねられません。
  +
# ルートパーティションのマウントを解除してください。
 
# 再起動して、先に設定したパスワードを使います。
 
# 再起動して、先に設定したパスワードを使います。
   
40行目: 44行目:
 
== Bash を起動するために GRUB を使う ==
 
== Bash を起動するために GRUB を使う ==
   
1. 起動時、GRUB メニューから適切なブートエントリを選び '''e''' を押します。
+
1. 起動時、[[GRUB]] メニューから適切なブートエントリを選び '''e''' を押します。
   
 
2. kernel 行を選びもう一度 '''e''' を押して編集に入ります。
 
2. kernel 行を選びもう一度 '''e''' を押して編集に入ります。
46行目: 50行目:
 
3. 行の終末に {{Ic|1=init=/bin/bash}} を追加して下さい。
 
3. 行の終末に {{Ic|1=init=/bin/bash}} を追加して下さい。
   
4. '''b''' を押して起動します(この変更は一時的なものであり、menu.lst には書き込まれません)。起動後、bash プロンプトが表示されます。
+
4. {{ic|Ctrl-X}} を押して起動します(この変更は一時的なものであり、menu.lst には書き込まれません)。起動後、bash プロンプトが表示されます。
   
 
5. ルートファイルシステムが readonly でマウントされているはずなので、read/write でマウントし直します:
 
5. ルートファイルシステムが readonly でマウントされているはずなので、read/write でマウントし直します:

2019年4月2日 (火) 10:13時点における版

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

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

LiveCD を使う

LiveCD を使ってリカバリする方法は2つあります: change rootpasswd コマンドを使う方法、またはパスワードエントリを消去する方法ですが、前者の方法がより安全です。アーキテクチャが一致していれば、どの Linux の LiveCD でも使うことができます。

Change Root と passwd を使う方法

パスワードを変更するときに手動で chroot を実行してもかまいませんが、かわりに passwd --root を使うとchroot とパスワード変更を一括して行えます。

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

パスワードエントリを消去する方法

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. 再起動します。次からはパスワードを忘れないようにしましょう。

ノート: init システムによってキーボードが正しくロードされず、bash プロンプトで何も入力できなくなることがあります。このような場合には、違う方法を使って下さい。

参照