【思路】找到 ROOT 密码所在的位置并清除
《具体描述》
【U盘启动】
制作U盘启动盘,用U盘启动,进入救援模式,进入shell命令行。
【挂载、修改、卸载文件】 1)创建临时目录 ./sda ,目录下挂载 /dev/sda5(exsi默认的存储在/dev/sda5中)文件系统。 2)解压目录下的 state.tgz 文件,得到 local.tgz 文件,再次解压得到 ./etc 文件夹。 3)编辑文件夹下的 shadow 密码文件,把 root 列中的密码去掉(把第一个和第二个冒号之间的内容删除掉)保存退出。 4)卸载 /dev/sda5 重启系统。
《具体步骤》
【准备】
制作一个 U盘 启动盘 我的U盘系统:CentOS-7.4-x86_64-Minimal-1708 制作工具:rufus-3.5.exe
【U盘启动】
1)挂载U盘。(我是安装在 vmware 上的,linux 下不需要改步骤)参考:《vmware 虚拟机 U盘启动》
挂载结果图
2)设置U盘启动。 启动虚拟机 F2 进入BISO 界面(不同机器可能不同)
3)BOOT 选项卡下,设置 U盘启动优先
4) 保存退出,启动后选择 故障排查,救援系统
5)进入shell界面,准备挂载
【挂载、修改、卸载文件】
mkdir ./sda #创建临时目录 mount /dev/sda5 ./sda #挂载文件
cp /sda/state.tgz /tmp #复制到临时目录
tar xvf state.tgz #解压得到local.tgz tar xvf local.tgz #解压得到etc文件夹
...修改文件夹下的shadow文件,保存...
tar czf local.tgz etc/ #压缩 tar czf state.tgz local.tgz #压缩 cp state.tgz /sda/ #复制修改后的state.tgz
umount /dev/sda5 #卸载文件系统
reboot #重启
参考:https://www.cnblogs.com/daxi33/p/10782385.html