总结:三种重置root密码的方法

  1. 找到第一个linux16这栏,修改ro为rw init=/sysroot/bin/sh;切根chroot /sysroot;修改密码;通过vim修改selinux的状态为disabled或者创建touch /.autorelabel文件;exit退出;执行/bin/sh shutdown -r now 重启
  2. 在第一个linux16的末尾加上rd.bread;重新挂在/sysroot拥有读写的权限:mount -o remount,rw /sysroot;切根chroot /sysroot;修改密码;通过vim修改selinux的状态为disabled或者创建touch /.autorelabel文件;exit退出;执行/bin/sh shutdown -r now 重启
  3. 在第一个linux16的末尾找到rhgb quiet并修改为init=/bin/sh;重新挂在根(/)具有读写的权限:mount -o remount,rw / ;不需要切根直接修改密码;通过vim修改selinux的状态为disabled或者创建touch /.autorelabel文件;执行exec /sbin/init重启

(一)
在重置root密码之前,我们先把selinux开启,因为在生产环境中也会有开启selinux的情况

[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled                   #这里需要更改为enforcing 
SELINUXTYPE=targeted

如下

[root@localhost ~]# vim /etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted

可以用sed来修改,更便捷

[root@localhost ~]# sed  -i "/SELINUX/s/disabled/enforcing/"/etc/selinux/config

重启按e进行编辑
Centos7破解root密码_第1张图片
找到ro 注意,是在LANG=zh_CN.UTF 8的上面
Centos7破解root密码_第2张图片
将ro更改成rw init=/sysroot/bin/sh 编辑完成后记得按Ctrl + x
Centos7破解root密码_第3张图片
接下来就需要换根操作了chroot /sysroot ,修改root的密码了 注意:chroot 和/sysroot 之间是有空格的
Centos7破解root密码_第4张图片
接下来就是关闭selinux了 非常重要哦
很诡异的事情发生了,明明我们修改了selinux为enforcing状态,但是这里获取到的却是 disabled
Centos7破解root密码_第5张图片
vim /etc/selinux/config查看
Centos7破解root密码_第6张图片
诡异吧,那么我们先不修改配置文件,直接完成,看下效果
Centos7破解root密码_第7张图片
执行exit是因为刚刚我们操作了chroot /sysroot 换根,那么现在我们就得退出再换回
Centos7破解root密码_第8张图片
使用reboot的命令,无法执行重启,报错翻译过来就是使用reboot是危险动作,汗! 得!咱就换成/bin/sh shutdown -r now
漫长的等待后,结果如图:
Centos7破解root密码_第9张图片
对,就是黑了,一直进不了桌面,看来还是selinux在搞怪哦 修改,必须得修

Centos7破解root密码_第10张图片
接下来就是exit和执行/bin/sh shutdown -r now
第二种,不用通过vim 修改selinux的方法,直接创建/.autorelabel
Centos7破解root密码_第11张图片
重启
Centos7破解root密码_第12张图片
进系统查看selinux状态
Centos7破解root密码_第13张图片

(二)
按e进入编辑
Centos7破解root密码_第14张图片
找到linux16开头,按下end键 空格写入 rd.break
Centos7破解root密码_第15张图片
按Ctrl + x
Centos7破解root密码_第16张图片
可以发现我们的/sysroot仅有只读权限,我们需要换根后通过/sysroot来操作,那么就必须 更改成读写的权限才行
mount -o remount,rw /sysroot 重新挂载/sysroot 使其具有读写的权限
接下来就是切根,重置root的密码和修改selinux配置文件了或者是创建/.autorelabel(注意 红框部分)
Centos7破解root密码_第17张图片
可以发现,没切根之前是switch_root,切根后是sh 4.2#开头的。我们第一种重置root密码 的方法,可以发现开头的都是sh 4.2#
也就是说当看到switch_root,那么就得重新挂载sysroot了使其有读写的权限

(三)
按e进入编辑
Centos7破解root密码_第18张图片
找到linux16,按end到末尾。找到并把rhgb quiet 更换成init=/bin/sh
Centos7破解root密码_第19张图片
Centos7破解root密码_第20张图片
使用mount查看下
Centos7破解root密码_第21张图片
重新挂载根“/”,修改密码,创建.autorelabel,再执行exec /sbin/init
Centos7破解root密码_第22张图片