Linux下手动修改忘记密码的kvm image

声明

此文档只做学习交流使用,请勿用作其他商业用途
author : 朝阳_tony
E-mail : [email protected]
Create Date: 2016-10-18 13:10:37
Last Change: 2016-10-18 16:10:44
转载请注明出处:http://blog.csdn.net/linzhaolover

现在虚拟机kvm的使用很流行,为了更多的差异化环境,每个人可能拥有很多的kvm,这数量一多难免会有image的密码会忘记,相信很多人会采用kernel single user 单用户模式进入系统修改秘密,但是,自从rhel7和ubuntu14.04以后,都加了认证,进入单用户后,还需要密码,这的确增加了安全性。下面就简单介绍一下通过libguestfs-tools这个工具直接修改image中的文件,无需启动kvm。


查看kvm list

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     rhel7.0                        shut off
 -     rhel7.0-cloud                  shut off
 -     ub12-clear                     shut off
 -     ub14.04-clear                  shut off
 -     ub14.04-clear-clone            shut off
 -     ubuntu14.04                    shut off

rhel7.0 这个就是我需要修改密码的kvm

安装libguestfs-tools

sudo yum install libguestfs-tools      # Fedora/RHEL/CentOS
sudo apt-get install libguestfs-tools  # Debian/Ubuntu

安装完成后会增加很多virt命令,这次我们主要使用virt-edit

生成新的密码串

# openssl passwd -1 -salt 'hello' '123456'
$1$hello$ZwmhCpcG.I1XIfVjdarKc1

openssl是一个加密工具,-1 是指普通加密,hello为key , 123456 才是密码,下面就是是生成的密码串,这样我们只要将这些进行对应的替换酒可以了
linux系统的加密密码通常存储在/etc/shadow 文件中

root:$1$bTPRDWwf$LpjUZmGTHw.hYFccl0/lK.:16804:0:99999:7:::                                                                                    
bin:*:15937:0:99999:7:::
daemon:*:15937:0:99999:7:::
adm:*:15937:0:99999:7:::
lp:*:15937:0:99999:7:::
sync:*:15937:0:99999:7:::
shutdown:*:15937:0:99999:7:::

修改系统root账户密码

virt-edit -d rhel7.0 /etc/shadow

视kvm image大小情况而定,一般一两分钟就可以打开,我们只要替换root中的对应部分酒可以

root:$1$bTPRDWwf$LpjUZmGTHw.hYFccl0/lK.:16804:0:99999:7:::
更换为
root:$1$hello$ZwmhCpcG.I1XIfVjdarKc1:16541:0:99999:7:::

保存退出,启动kvm,就可以用最新的密码进入了,当前最新密码是123456


http://libguestfs.org/virt-edit.1.html

你可能感兴趣的:(openstack,linux,学习原创)