CentOS / RHEL 7では、パスワードリセットプロセスがどのように機能するかを正確に理解しようとしていますが、いくつかの基本事項がありません。
存在する一部 その他 はい私はこれがchroot /sysroot
必要だと思いますが、このステップが正確になぜか何をするのか理解していません。表現例:
- (ソースA)「5 - このコマンドを使用してシステムにアクセスしてください」
- (ソースB)「ブーム。シングルユーザーモードです。シェルプロンプト! - 次のようになります:/#
type chroot / sysroot」 - (ソースC)「その後、chrootを使用してchroot刑務所に入ります。」
確かに、これらのプロセスの説明は少し不足しています。 :-(誰かを詳しく説明してもらえますか?
答え1
失われたプログラムをリセットすることについて話しています。根パスワード。これは、ルートパスワードを紛失した場合にのみ必要です。そしてsudo
ルートアクセスなどのアクセス権がありません。
起動時に、ブートローダ(通常はGRUB)はカーネルとinitramfs(initrdとも呼ばれる)ファイルという2つのファイルをロードします。 initramfsファイルには、物理ルートファイルシステム、対応するディスクコントローラ、およびそれを有効にするために必要なその他の機能(LVM、ディスク暗号化、マルチパス、および/またはソフトウェアRAID)を有効にするために必要なツールとカーネルモジュールを含む最小ファイルシステムが含まれています。 )。
起動rd.break
オプションは、システムがまだinitramfsを使用しているが、実際のルートファイルシステムがすでにマウントされている間に起動順序を停止するように指示します/sysroot
。通常、次のステップは ivot_root 操作を実行し、/sysroot
実際のルートファイルシステムに切り替えてそこからコンテンツを実行することです。を押し、メモリからinitramfsを削除します。
initramfsで停止すると、緊急シェルにアクセスできます。ただし、initramfsで使用できるコマンドの数は非常に制限されており、/etc/passwd
initramfs全体がとにかく実際のルートファイルシステムに置き換えられるため、initramfsファイルを編集しても効果はありません。
ルートファイルシステムは、最初にファイルシステムチェックを可能にするために読み取り専用モードでマウントされます。最初のステップは、パスワードの変更を許可するために読み取り/書き込みモードで再インストールすることです。
このコマンドは、次のことを意味しますchroot /sysroot
。対応するchrootシェルは、実際のルートファイルシステムの実際のパスワードファイルを参照し、システムが正常に実行されたときに使用されるものと同じです。コマンドは同じです。このchrootedシェルは緊急シェルで起動されているため、すでにフルrootアクセス権を持っており、このコマンドを使用すると、新しいルートパスワードの設定を含め、以前のパスワードを最初に尋ねることなく、誰でも新しいパスワードを設定できます。/sysroot
/
/etc/passwd
/etc/shadow
/bin/passwd
passwd
プロセスが完了すると、最初のexit
コマンドはchrootedシェルを終了し、実際のルートファイルシステムを処理する初期緊急シェルに戻ります/sysroot
。 2番目のexit
コマンドは、緊急シェルが使用されるたびに起動スクリプトに制御を返します。通常は再起動されます。
これは必要な説明ですか?
答え2
シングルユーザーモードでは、ファイルシステムは/sysroot
読み取り専用(デフォルト)または読み取り/書き込みモードro
(rw init=/sysroot/bin/sh
。
これで、ルートパスワードをリセットする前に、使用するルートファイルシステムを変更する必要があります/sysroot
。chroot /sysroot
これはこれについての公式RedHATドキュメントです。