由于工作交接不到位、信息记录不到位,密码遗忘等原因,有时候会出现root管理员密码丢失的情况,这时候,就需要我们通过手动破解root口令,那么具体怎么做呢?接下来,让我们一起来看看CentOS 7上破解密码的方法
1. 首先,我们将主机正常通电开机,待系统启动到启动菜单项时,立即按下任意键暂停启动(系统默认读秒为5秒,如第1次错过了,重启再试即可),然后按 e 键进入编辑模式,如图
2.
将光标移动linux16开始的行,在末尾的quiet项后添加内核参数rd.break
(前置空格,以告知grub2这是1个独立的指令项),然后按Ctrl + X
组合键启动
3. 开机引导程序在读取上述内核参数后,将进入下图界面
4.
正如我们所知道的那样,在进入救援模式(Recure Mode)
和紧急模式(Emergency Mode)
时,默认进入的根系统为伪根,需要切换根目录的问题,因此我们通过mount
命令先看一下当前的挂载情况
正如上图我们看到的,我们的系统分区/dev/sda3
挂载在/sysroot
上,因此我们需要/dev/sda3
将真正的系统分区(即/dev/sda3
)以读写模式(rw)
挂载到/sysroot
上
mount –o remount,rw /sysroot
5.
我们用mount
再确认一下是否已经重新以读写模式挂载
如上,可以确认已经挂载成功。
6. 切根。注意,此时shell提示符处的变化。
chroot /sysroot
7. 重置root密码并进行打标操作(即SELinux安全标签),并且系统可能重启2次才能完成打标工作。
8.
待打标完成,连续输入两次exit
,然后reboot
,重启后即可进入登录界面。
至此,CentOS 7下root密码已经重置成功,后续做好相关管理工作即可。特别地,此处额外介绍另一种破解root密码的方法,整体思想和上述方法趋同,区别主要在于恢复操作所用的shell的不同。
1.
同方法1,开机按e
键进入grub2的开机菜单项,编辑内核命令参数。在linux16开始的行末尾添加rw init=/sysroot/bin/sh
,然后按Ctrl + X
组合键启动。请注意,该方法在修改内核命令链时,直接声明了以读写模式rw挂载,因此重启后直接切根操作即可
2.
同方法1,依次切根chroot -> 重置root密码 -> 打安全标签 -> exit -> reboot
即可