有時候我們從網上下載的共有鏡像,需要修改密碼,可以通過guestfish很簡單的就能夠實現
軟件安裝
1 2 3 4 5 |
## Centos7: # yum -y install guestfish ## ubuntu # yum -y install libguestfs-tools |
升級加密密碼
1 2 |
# openssl passwd -1 PASSWORD # 這裏把 PASSWORD 替換爲自己想要設置的密碼 $1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs. # 生成的加密密碼,會寫入到鏡像中 |
掛載鏡像並修改密碼
1 2 3 4 5 6 7 |
# guestfish --rw -a /root/CentOS-7.2-1511.img ><fs> ## 提示符變成了這樣,進入了 guestfish 會話 ><fs> run ## 它會啓動一個虛擬機,用於完成我們所以的對文件的操作 ><fs> list-filesystems ## 通過list-filesystems命令,我們可查看鏡像內的文件系統列表: /dev/vda1: xfs ><fs> mount /dev/vda1 / ## 掛載上述分區 ><fs> vi /etc/shadow ## 把前面通過openssl 生成的加密密碼替換root後面的密碼 |
vi /etc/shadow:
1 2 3 4 |
root:$1$TwYla0akghaspfkshg98shdlknlksgsahsghlsklksjlkjk::0:99999:7::: ... ... ... |
把從 root: 到 ::0: 之間的字符替換:
1 2 3 4 |
root:$1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs.::0:99999:7::: ... ... ... |
這樣root的密碼就替換爲新密碼
1 |
><fs> quit ## 退出 |
然後上傳該鏡像即可(glance image-create –disk-format raw –visibility public –container-format bare –name CentOS7.2-1511-base-v1.0 –file CentOS-7.2-1511.img –progress)
其實guestfish可以做很多事:刪除文件等