Guestfish修改镜像密码
# Guestfish修改镜像密码
从openstack官方下载的云镜像一般都是普通用户密钥登陆,比如centos镜像的普通用户为centos,ubuntu镜像的普通用户为ubuntu,虽然密钥登陆系统相比密码登陆来说比较方便安全,但是如果需要vnc登陆系统的话,必须得是密码才可以。那么如何实现openstack云镜像密码登陆呢,guestfish工具是一个不错的选择。(本次操作是在centos系统上利用guestfish工具修改openstack官方centos镜像的密码,包括root用户以及普通用户centos)
# 安装工具包
这里需要用到epel的源。
该安装包是基于Kvm的环境
,如果有Kvm环境可以直接安装guestfish。
[root@node ~]# yum install -y epel-release
[root@node ~]# yum install -y qemu-kvm libvirt virt-install bridge-utils
[root@node ~]# systemctl start libvirtd
[root@node ~]# yum install guestfish
[root@node ~]# guestfish version
major: 1
minor: 40
release: 2
extra: rhel=7,release=10.el7,libvirt
# guestfish修改镜像的密码
[root@node ~]# guestfish --rw -a CentOS-7-x86_64-GenericCloud-1804_02.qcow2c
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.
Type: ‘help’ for help on commands
‘man’ to read the manual
‘quit’ to quit the shell
><fs> run
100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ --:--
><fs> list-filesystems
/dev/sda1: xfs
><fs> mount /dev/sda1 /
><fs>
# 修改root密码
再开一个shell,执行如下命令生成root的加密密码,记住这个加密的密码。
[root@node ~]# openssl passwd -1 000000
$1$pTRh9tzP$KRX0LisujyB/cDY97lmSZ/
[root@node ~]#
返回guestfish所在shell,编辑 /etc/shadow文件。
将root默认的随机密码替换成生成的加密密码。
><fs> vi /etc/shadow
root:$1$pTRh9tzP$KRX0LisujyB/cDY97lmSZ/:17667:0:99999:7::: #将这段的感叹号修改成刚刚的密码
bin:*:17632:0:99999:7:::
daemon:*:17632:0:99999:7:::
adm:*:17632:0:99999:7:::
lp:*:17632:0:99999:7:::
sync:*:17632:0:99999:7:::
shutdown:*:17632:0:99999:7:::
halt:*:17632:0:99999:7:::
mail:*:17632:0:99999:7:::
operator:*:17632:0:99999:7:::
games:*:17632:0:99999:7:::
ftp:*:17632:0:99999:7:::
nobody:*:17632:0:99999:7:::
systemd-network:!!:17667::::::
dbus:!!:17667::::::
polkitd:!!:17667::::::
rpc:!!:17667:0:99999:7:::
rpcuser:!!:17667::::::
nfsnobody:!!:17667::::::
sshd:!!:17667::::::
postfix:!!:17667::::::
chrony:!!:17667::::::
# 修改centos密码
编辑/etc/cloud.cfg文件。
把lock_passwd字段的值修改为false,解禁密码登陆。增加plain_text_passwd
字段,设置为你自己的密码,我这里设置的是‘000000’
><fs> vi /etc/cloud/cloud.cfg
···
system_info:
default_user:
name: centos
lock_passwd: false #修改为false
plain_text_passwd: '000000' #添加这一行
gecos: Cloud User
groups: [wheel, adm, systemd-journal]
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
shell: /bin/bash
><fs> quit
上次更新: 2023/11/28, 22:03:59