centos7破译root密码
文章目录
centos7破译root密码
说明
该方法适用于centos7及以上版本(7以下没试过不知道可不可行) 忘记root密码的情况。
方法一
为了兼容性,建议使用方法二!!!!!!!!!
- 其实我之前的博客有说明root启动规则和重置root密码,重置root密码就是破译密码,反正也是不知道root密码的情况使用。 详细参考:https://blog.****.net/cuichongxin/article/details/103558293
只是 该方法之前只在 vmware上测试过,并没有在真正的生存环境中使用过,最近在真正的生产环境(openstack)上使用,发现该方法 会导致无法进入系统(一直黑屏)。
而且因为是 VMware上使用该方法,所以并不严谨,并没有临时指定根目录(其实可以不用指定新根目录,只是为了预防万一而已) - 开始操作
如果你使用的是RHEL7.0的话,记住要删除rhgb quiet这两个参数。7.1及以上就不需要删除
进入该模式的方法:就是临时编辑内核参数的方法,启动界面c(选择内核,默认内核,直接e也行)——e进入编辑界面,找到内核列 在最后写上参数保存即可;
倒计时那界面截图就没法进入内核了,所以没截图,反正按 e 进来后就是这个界面
在linux16这行的后面输入:init=/bin/sh
,然后按ctrl+x 进入系统(救援模式)
ctrl+x后就会直接进入到救援模式中:
需要注意的时,以这种方式进入的系统是 只读的,不能直接修改密码,所以需要先把系统文件以读写的方式重新挂载再修改密码即可:mount –o remount,rw /
(如果回车有报错说明输错了)
然后就可以执行任意操作,但为了修改root密码嘛,所以直接 passwd root
即可
密码修改完成以后,需要重置selinux标签:touch /.autorelabel
然后重启:exec /sbin/init
如果使用的是vmware做实验的话,这当中会重启2次(等待即可),kvm没这个问题。
启动完毕后直接使用更改的密码登陆即可:
方法二:
如果你使用的是RHEL7.0的话,记住要删除rhgb quiet这两个参数。7.1及以上就不需要删除
进入该模式的方法:就是临时编辑内核参数的方法,启动界面c(选择内核,默认内核,直接e也行)——e进入编辑界面,找到内核列 在最后写上参数保存即可;
倒计时那界面截图就没法进入内核了,所以没截图,反正按 e 进来后就是这个界面
在linux16这行的后面输入:rd.break console=tty0
,然后按ctrl+x 进入系统(救援模式)
注:console=tty0不输也没错,因为我是这虚拟的,所以我加了这个,感兴趣的可以看该博客了解一下:https://blog.****.net/xiaolei251990/article/details/89743666
进入系统(救援模式)以后是这个界面:
依次输入以下命令:
-
mount –o remount,rw /sysroot
#重新挂载并且重新指定根目录,直接/ 也可以,但为了安全,重新指定根目录! -
chroot /sysroot
# 限制根目录的权利。 -
passwd root
# 修改root密码 -
touch /.autorelabel
# 重置selinux标签 exit
-
exit
注:chroot命令详解参考:https://www.imooc.com/article/26318
然后就等着就好,等启动以后,就用root用户,和刚才设置的密码登陆即可!