|
|
楼主 |
发表于 2018-10-12 13:11:28
|
显示全部楼层
有时候我们从网上下载的共有镜像,需要修改密码,可以通过guestfish很简单的就能够实现
0 h7 G" _+ _( p& P. D3 F& t& V
& ~$ U- E7 G! p& S9 Q7 B3 R软件安装
) }! q3 z& C9 r |. K
+ P" e% I- U5 f: A; g4 B- P! u7 [9 R
- e/ F$ A* T1 ~) |' I6 t9 ]- h## Centos7:. M7 S: d; z( ]
# yum -y install guestfish3 P# q6 `% M+ s. f) o
## ubuntu9 w& `* R1 ^+ c2 M5 l, o
# yum -y install libguestfs-tools4 `* C! I. Q" c
升级加密密码
# X+ n, y3 O9 L/ M0 d9 n- l( t$ j
# openssl passwd -1 PASSWORD # 这里把 PASSWORD 替换为自己想要设置的密码, S+ s+ H+ F. c" w$ `/ j Z* n
$1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs. # 生成的加密密码,会写入到镜像中/ D S1 c6 v- i. ]8 _
挂载镜像并修改密码4 p* [: u1 u1 p% F' M x
" u+ F. x* S0 E5 }" y- }
0 ]* U' E. X7 o9 e3 S( H# guestfish --rw -a /root/CentOS-7.2-1511.img
: n( ?& r$ f5 ^" m8 a><fs> ## 提示符变成了这样,进入了 guestfish 会话6 i7 }( {) k7 s% ~9 o* S* j
><fs> run ## 它会启动一个虚拟机,用于完成我们所以的对文件的操作; i L5 Y& i" g" U
><fs> list-filesystems ## 通过list-filesystems命令,我们可查看镜像内的文件系统列表:" ]' q. e* z$ D4 y% ^& w$ A( ]
/dev/vda1: xfs) E# \5 d7 O8 G' o1 Y+ Q5 V: F
><fs> mount /dev/vda1 / ## 挂载上述分区
) V/ Y1 ]0 C% C) M" K6 W o: A><fs> vi /etc/shadow ## 把前面通过openssl 生成的加密密码替换root后面的密码
5 C+ P! P# K( u& ]- G5 i9 Svi /etc/shadow:+ v0 u. Z9 o) z" U
& a4 M- R+ h6 ^" i/ f% Z* B4 h
- j' g4 F' b, V D/ s' K r0 Oroot:$1$TwYla0akghaspfkshg98shdlknlksgsahsghlsklksjlkjk::0:99999:7:::
7 p: P2 C1 w+ ]8 f. V" H8 O! Q...: t% n9 o0 [/ u, k/ }0 |
...
: ?" A! t$ }* s3 }' {' V9 G...
: ^3 u/ ]$ K7 q/ `- j& g把从 root: 到 ::0: 之间的字符替换:
( Y/ ?$ s7 ]: Y3 ?4 p: o( w$ t# ~; q' k3 a2 {
: Z4 B& e5 q0 y& Y. [: ~# Z$ ?1 kroot:$1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs.::0:99999:7:::
4 C8 S- t# F# v5 o; n..., e9 ]% _- p/ W" ^# V
...
: s- Z6 Z$ i, {2 c% u4 ~...3 M8 X8 U1 m3 R! ?
这样root的密码就替换为新密码
; o. k3 Y4 {0 i; ?4 {5 I% {
9 Z8 z% ~7 h$ G3 ?
7 Y! R# t' J' T3 x4 O( p><fs> quit ## 退出+ T7 Y+ Y& r+ w
然后上传该镜像即可(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)
0 ]6 {) u; y$ Q3 |, A$ ]/ i- X8 |2 N0 ?: f8 ?" E6 A
其实guestfish可以做很多事:删除文件等 |
|