重置密码在 KVM 客户机中不起作用

重置密码在 KVM 客户机中不起作用

我丢失了客户系统的 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

并重新启动虚拟机,以便在下次重新启动时重新标记它。

相关内容