ゲストシステムのrootパスワードを紛失しました。
ゲストシステムをマウントして、シングルユーザーモードに変更しました。次に、virsh
コンソールを使用してゲストシステムにアクセスしました。ゲストシステムは現在シングルユーザーモードであり、コマンドecho "root":"123456" | chpasswd
を使用してパスワードをリセットしました。
しかし、ゲストシステムを再起動した後、アクセスできませんでした。新しいパスワードが正しくありませんでした(Login incorrect
)。ただし、ゲストシステムをホストに再度マウントしてchroot
を呼び出すと、通常のアカウントに切り替え、rootに切り替えて新しいパスワードを入力することにより、新しいパスワードが機能していることを確認しました。
OSのサーバーバージョンとゲストバージョンはどちらも最新のcentosバージョンです。
SELinux拒否を投稿しました。ここで、login
は/etc/passwd
を読み取るためのアクセスを拒否されています。ログエントリを見ると、セキュリティコンテキストが無効であることがわかります(passwd_file_t
ではなくfile_t
である必要があります。このファイルを手動で編集しましたか?)。
/etc/passwd
(および安全のためにシステムの残りの部分)のセキュリティコンテキストを修正することをお勧めします。
無効なセキュリティコンテキストを修正するには、chroot
をファイルシステムに戻し、次のコマンドを実行します。
restorecon -r -v /
これが失敗した場合(たとえば、SELinuxがchrootで実行されていないため)
touch /.autorelabel
vMを再起動して、次回の再起動時にラベルを付け直します。