宿主机是centos 7,上面安装了一台虚拟机(操作系统也是centos 7)。
一段时间之后,虚拟机的root口令忘记了,下面给出一种简便的解决方法:
1、在宿主机中安装libguestfs套件,libguestfs是一个工具集,用以访问和修改虚拟机的磁盘映像,功能非常丰富。
yum install libguestfs-tools
2、可以先行备份虚拟机中待修改的文件,在宿主机中执行
virt-copy-out -a c7.img /etc/shadow /tmp
备份虚拟机中的/etc/shadow文件到宿主机的tmp目录下,其中c7.img是虚拟机的磁盘映像。
3、直接编辑虚拟机中的口令文件,在宿主机中执行
virt-edit -a c7.img /etc/shadow
此时打开一个vi编辑窗口,口令文件包含多行,每个用户一行,root用户的信息通常在第一行。
每行都包含冒号分隔的多个域,第二个域是加密之后的口令。
清空root用户的第二个域,存盘退出,这样root用户的口令为空。
4、以正常方式启动虚拟机,以root用户登录,提示输入密码时直接回车,登录成功。
5、登录虚拟机root用户后,可以运行passwd命令重新设置root用户的新口令。