我丢失了客户系统的 root 密码。
我挂载了客户系统并将其更改为单用户模式。然后我使用virsh
控制台访问客户系统(此时系统处于单用户模式),并使用命令echo "root":"123456" | chpasswd
重置密码。
但是,在客户系统重新启动后,我无法访问它。新密码不正确(Login incorrect
)。但是,如果我在主机中再次安装客户系统并调用chroot
,我会通过切换到常规帐户并切换回 root 并输入新密码来验证新密码是否有效。
操作系统的服务器版本和客户版本都是最新的centos版本。
答案1
您发布了 SELinux 拒绝,其中login
被拒绝访问 读取/etc/passwd
。通过查看日志条目,我可以看到它具有无效的安全上下文(应该是passwd_file_t
,而不是file_t
;您是否手动编辑了此文件?)。
我建议您修复安全上下文/etc/passwd
(以及系统的其余部分以确保安全)。
要修复无效的安全上下文,chroot
请返回文件系统然后运行:
restorecon -r -v /
如果失败(例如因为 SELinux 没有在你的 chroot 中运行)那么
touch /.autorelabel
并重新启动虚拟机,以便在下次重新启动时重新标记它。