使用guestfish修改QEMU IMAGE的root用户密码

本文介绍如何利用guestfish工具在QEMU-KVM环境下修改虚拟机的root用户密码。通过编辑虚拟机内的/etc/shadow文件,实现对预装系统的密码重置。

原文:https://access.redhat.com/discussions/664843

在使用QEMU或在QEMU-KVM时,如果不知道下载的image文件的root用户的密码,可以使用guestfish工具去修改。

Using “guestfish” to change the Password for the root account:
1)You can use guestfish to edit a running system under KVM virtualization
2)You can use “guestfish” to edit the /etc/shadow file and change the root password.
3)Guestfish is an interactive shell that you can use from the command line or from shell scripts to access guest virtual machine file systems. (See example below):
安装guestfish:
yum -y install guestfish//RHEL
yum -y install libguestfs-tools//FEDORA

Import the qcow2 image into KVM. The image will be named something along the lines of: “rhel-guest-image-7.1-20150224.0.x86_64.qcow2”, (as of July 2nd, 2015, the version will of course change over time)
Change the password on the newly imported KVM to get on the pre-built system.

Example steps to change the root password using guestfish:
This set of instructions is for use on the host system that has the kvm RHEL 7 guest.
The syntax is: guestfish –rw -a
(Note, your system may be /dev/vda1, mine was /dev/sda1. Use the ‘list-filesystems’ command)

root@box1 # guestfish --rw -a ./rhel-guest-image-7.1-20150224.0.x86_64.qcow2
><fs> run
><fs> list-filesystems
><fs> mount /dev/sda1 /
><fs> vi /etc/shadow
><fs>quit //退出
>
//可以在其他命令行下面,使用下面的命令生成新密码
[root@someothersystem ~]# openssl passwd -1 changeme
$1$QiSwNHrs$uID6S6qOifSNZKzfXsmQG1
Kvm 模版配置 Guestfish: 私有云 Virt-customize:私有云 Cloud-init: Service modify qcow2 # 创建 repo cat > tencent.repo <<EOR [os] name=OS baseurl=https://mirrors.cloud.tencent.com/centos-vault/7.9.2009/os/x86_64/ gpgkey=https://mirrors.cloud.tencent.com/centos-vault/7.9.2009/os/x86_64/RPM-GPG-KEY-CentOS-7 [updates] name=UPDATES baseurl=https://mirrors.cloud.tencent.com/centos-vault/7.9.2009/updates/x86_64/ gpgkey=https://mirrors.cloud.tencent.com/centos-vault/7.9.2009/os/x86_64/RPM-GPG-KEY-CentOS-7 [epel] name=EPEL baseurl=https://mirrors.cloud.tencent.com/epel/7/x86_64/ gpgkey=https://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-7 EOR # 修改 qcow2 guestfish -a /var/lib/libvirt/images/vm5.qcow2 -i --network ><fs> ls / ><fs> write /etc/hostname "vm5" ><fs> sh "rm -r /etc/yum.repos.d/*.repo" ><fs> upload tencent.repo /etc/yum.repos.d/tencent.repo ><fs> sh 'yum -y install httpd' ><fs> sh 'useradd vagrant' ><fs> sh 'echo vagrant | passwd --stdin vagrant' ><fs> sh 'echo vagrant | passwd --stdin root' ><fs> selinux-relabel /etc/selinux/targeted/contexts/files/file_contexts / ><fs> exit # 启动虚拟机 virsh start vm5 # 验证 virsh console vm5 cat /etc/hostname ls /etc/yum.repos.d/ rpm -q httpd Ctrl-] virsh shutdown vm5 # 修改硬盘容量 qemu-img resize /var/lib/libvirt/images/vm5.qcow2 40g qemu-img info /var/lib/libvirt/images/vm5.qcow2 virsh start vm5 virsh console vm5 # 列出所有分区磁盘容量,并显示文件系统类型 lsblk -f # 获得剩余磁盘容量开始的位置 BEGIN=$(parted /dev/sda print | awk '{prev = current; current = $0} END {print prev}' | awk '{print $3}') # 创建新分区 parted /dev/sda mkpart primary ${BEGIN} 100% # 创建物理卷 pvcreate /dev/sda3 # 扩容卷组 vgextend centos /dev/sda3 # 扩容逻辑卷 lvextend /dev/centos/root -l +100%FREE # xfs文件系统立即生效 xfs_growfs / # 确认 lsblk
最新发布
09-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值