由于centos6和centos7内核运行机制和启动方式不同,管理员找回root密码的方法也不一样
1.centos6
进入GNU GRUB界面,启动引导程序 按e
选择第二项kelnel 按e
quiet后面输入:“空格 1” 按b #1为启动级别,代表单用户
passwd root 设定新密码
reboot 重启
2.centos7
使用↑和↓将选择行设置为第一行(背景高亮即为选中),按下键盘上的e,进入编辑模式
2.1由于有的是英文安装的系统,有的是中文安装的系统,在修改的时候方法不同
2.1.1英文安装的系统:在 rhgb quiet LANG=en_US.UTF-8 后面加入 init=/bin/sh 或者 rd.break enforcing=0
2.1.2中文安装的系统:在 rhgb quiet 后面加入 LANG=zh_CN.UTF-8 rd.break enforcing=0
总之,我们最后要达到一个三选的一结果
rhgb quiet LANG=en_US.UTF-8 init=/bin/sh
rhgb quiet LANG=en_US.UTF-8 rd.break enforcing=0
rhgb quiet LANG=zh_CN.UTF-8 rd.break enforcing=0
2.2按CTRL+X用改变的参数引导系统 行引导启动,成功后进入该界面
显示字符:" switch_root:/# "
2.2.1如果前面输入的代码是 "rhgb quiet LANG=en_US.UTF-8 init=/bin/sh" 执行以下操作:
mount -o remount, rw /
passwd root #设置密码并确认
exec /sbin/init
重启--输入新密码--进入
2.2.2如果前面输入的代码是
"rhgb quiet LANG=en_US.UTF-8 rd.break enforcing=0
rhgb quiet LANG=zh_CN.UTF-8 rd.break enforcing=0" 执行以下操作:
mount -o remount, rw /sysroot
chroot /sysroot
passwd #输入新密码并确认密码
touch /.autorelabel #如果开启selinux的话需执行此步,selinux关闭的话,此步可以不执行!
mount -o remount,ro / #重新挂载
exit #退出交换界面
exit #退出引导界面并重启
总而言之,两种情况
情况1:init=/bin/sh ---> CTRL+X ---> mount -o remount, rw / ---> passwd root ---> exec /sbin/init
情况2:rd.break enforcing=0 ---> CTRL+X ---> mount -o remount, rw /sysroot ---> chroot /sysroot ---> passwd ---> mount -o remount,ro / ---> exit ---> exit
如此,这不怕忘记root密码了,当然需要你在本地拿到虚拟机或者服务器,可以进入linux启动程序。
如果你是ssh远程连接的,那就望尘莫及了,还是好好想想,多试几次那该死的密码吧!
祝 你 好 运!