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

楼主 |
发表于 2018-10-12 13:11:28
|
显示全部楼层
有时候我们从网上下载的共有镜像,需要修改密码,可以通过guestfish很简单的就能够实现
/ { V4 |4 [. p; Q% E
' o; u) F# {/ p* p+ s) Y9 P软件安装* r' s6 H% t1 X
9 o. B/ A3 Y. V! s. ]# D/ a. d! e v7 f6 i' `0 v; }# A
## Centos7:
9 O. V) R* a& J# yum -y install guestfish" ^" |1 M: }0 [" G! F
## ubuntu
% F4 q- X" M: F! F* u# yum -y install libguestfs-tools
4 l$ [5 C- D1 I0 z7 H/ v升级加密密码
4 q' q/ s+ [! l! }; J3 N" ~
. e- G5 O9 Q0 F' }# openssl passwd -1 PASSWORD # 这里把 PASSWORD 替换为自己想要设置的密码
5 ^! J7 \8 N9 g, Y8 z) F- b) P3 f$1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs. # 生成的加密密码,会写入到镜像中
0 m; p8 g# z5 E0 \挂载镜像并修改密码/ G* A5 |$ H: R' f0 a4 I/ Z$ u
' ~" e1 \6 X" [) j- R# z( ?: W2 i$ t' e7 |5 C( e
# guestfish --rw -a /root/CentOS-7.2-1511.img! ~& [$ m6 O) l" {9 y8 M( t7 v
><fs> ## 提示符变成了这样,进入了 guestfish 会话' k5 r: T0 h6 L ~9 B! c/ @
><fs> run ## 它会启动一个虚拟机,用于完成我们所以的对文件的操作- V. X2 O2 c2 Z& @- R7 x
><fs> list-filesystems ## 通过list-filesystems命令,我们可查看镜像内的文件系统列表:
4 u: B; O3 U' `) G" x/dev/vda1: xfs, R, t3 f+ h" r& \2 a
><fs> mount /dev/vda1 / ## 挂载上述分区
& a: y. [7 Q, x* b><fs> vi /etc/shadow ## 把前面通过openssl 生成的加密密码替换root后面的密码& L& v W/ W/ e% b2 W
vi /etc/shadow:
2 b% ^7 M p6 R g! J" F
& m6 w# w' _/ J# ~1 d; c5 _: Y7 @3 a3 ^6 S0 I
root:$1$TwYla0akghaspfkshg98shdlknlksgsahsghlsklksjlkjk::0:99999:7:::
" \+ W* Z) g: w; `8 t.../ u1 s' S% f* D2 o9 f Z
...
+ @8 @( |' `( |) E, f8 b..." s/ g) {/ o& M1 y
把从 root: 到 ::0: 之间的字符替换:: |, ~- C i0 m% K
6 E- a" ^1 F: q- c1 P0 U
- V: I% |# b& O1 o! B0 U0 Groot:$1$/jCcCUMM$rU8XqMS6kVuZ7zxn.PQCs.::0:99999:7:::) t# `9 J, ]- h/ n! y/ a* E
...+ I; J+ u4 L: g x
...1 v" K* e0 ~2 ^& i5 D7 \
... w' H1 {! j& s0 F8 a9 G3 s
这样root的密码就替换为新密码
3 ~1 j4 s1 ~6 Z- r2 ]0 c) g% V/ E, f' X% d0 w, u0 E
, i; @2 }- h- r" V, y: s><fs> quit ## 退出
- G G M1 B) b# {4 _然后上传该镜像即可(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)
9 `; a+ t6 |' x& Z
, p% b2 m9 ]( {其实guestfish可以做很多事:删除文件等 |
|