- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2018-10-12 13:11:28
|
显示全部楼层
有时候我们从网上下载的共有镜像,需要修改密码,可以通过guestfish很简单的就能够实现
. Y" {5 _/ A+ T
( a$ B& G# e/ `/ ^0 M' i. }软件安装
) |6 m: t: Z/ ~- ]8 d% Y5 Z4 L
$ L! k. B8 Z: b. q4 h
; p; X% L* u: d* f* h' ^0 r. V## Centos7:
6 ]% a; ]- h& O0 p: R! p- D# yum -y install guestfish
/ O! q5 V: N( e& y- m: `## ubuntu
1 C! {$ n: H" T/ X# yum -y install libguestfs-tools
$ Q# E. q* z6 J8 i升级加密密码
: \2 k4 f) M4 S; i+ L
6 x& ~& L9 G+ z# E5 D0 o' W# openssl passwd -1 PASSWORD # 这里把 PASSWORD 替换为自己想要设置的密码6 w/ ~) L4 ? j
$1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs. # 生成的加密密码,会写入到镜像中
8 D- S Y, M3 \# f" K) G9 {挂载镜像并修改密码, y5 }" |: ^9 {
8 K0 g2 L# Q9 b6 B) l- [& }8 I2 \& ~3 p* N2 _" P. _
# guestfish --rw -a /root/CentOS-7.2-1511.img1 H* J4 z9 X, N, M( Y# H A
><fs> ## 提示符变成了这样,进入了 guestfish 会话! U4 d" M. O# N# U/ j& D6 f' C
><fs> run ## 它会启动一个虚拟机,用于完成我们所以的对文件的操作
6 E. S j0 K9 Z1 `% z><fs> list-filesystems ## 通过list-filesystems命令,我们可查看镜像内的文件系统列表:+ g. c9 M3 J) i6 E5 H
/dev/vda1: xfs
5 g$ v0 Y( r; @: n3 u><fs> mount /dev/vda1 / ## 挂载上述分区: M( R# @5 Q1 _" F' g
><fs> vi /etc/shadow ## 把前面通过openssl 生成的加密密码替换root后面的密码6 h. p( D- x* F: R( Y
vi /etc/shadow:; n5 F8 w% y7 G# s
& |8 T& l3 m7 P4 n; _* W' ^
/ A; L( t6 D3 d; b, H. l) Z- Jroot:$1$TwYla0akghaspfkshg98shdlknlksgsahsghlsklksjlkjk::0:99999:7:::
5 u+ ^" T* r8 b0 O...
W7 r# X7 I' |2 P...: P. E, c( r$ w7 d1 d% Z4 Y. X
...) _# Z X! M# m& N9 c" o4 V+ A- p
把从 root: 到 ::0: 之间的字符替换:
0 [9 p4 O" Q. l! ?* u2 T- C& _6 w- g# f
9 `& b% {! L' O: f0 Q; R
root:$1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs.::0:99999:7:::9 v$ A2 N+ w8 k9 k' {, c" Q9 z
...! q6 [* R7 T7 H
...; P& d' A) v: s k0 i' A
...: a/ R- }: y$ ~$ q, x
这样root的密码就替换为新密码
9 q6 Y3 e" x3 z4 _5 k I1 X6 I+ X
9 @! t6 s" s4 B# S><fs> quit ## 退出% }3 ?9 q: M1 L# h
然后上传该镜像即可(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)4 V. ]( Q- t7 G. I4 x
; }- u8 c: E1 T0 a* J v' U
其实guestfish可以做很多事:删除文件等 |
|