在Centos 7以前的发行版中,只需要在vmlinuz行末尾添加“1”或“single”后按b重新引导即可。Linux Centos 7系列发行版系统,若是忘记超级用户root密码,破解起来相当费事。而且重置Centos 7 Root密码的方法和Centos 6系列完全不同。
接下来我将以2种解决方案破解Centos 7 Root密码。
第一种解决方案
1.进入单用户模式
在系统启动读秒的时候,按下任意键,会出现选择内核启动项,选择第一个按下e编辑当前内核。
在以下选项中,添加“rd.break”红色标注部分:
linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro cra\ shkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 rd.break
添加完成,然后按 “ctrl+x” 或 “F10” 启动。
2.以读写权限挂载文件系统
switch_root # mount -o rw,remount /sysroot/ switch_root # chroot /sysroot/
3.修改root用户密码
sh-4.2 # echo NewRenwole123 | passwd --stdin root Changing password for user root. passwd:all authentication tokens updated successfully.或:
sh-4.2 # passwd root (输入两次密码回车即可)
4.重载SElinux并退出单用户模式
sh-4.2 # touch /.autorelabel sh-4.2 # exit switch_root # reboot
重新启动后,可以使用新密码 “NewRenwole123” 登录。
第二种解决方案
1.进入单用户模式
系统启动读秒的时候,按下e编辑当前内核:
linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro cra\ shkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8
修改为:
linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro cra\ shkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap init=/bin/sh
将“rhgb quiet LANG=zh_CN.UTF-8”替换为“init=/bin/sh”,按“ctrl+x”或“F10”引导系统。
2.挂载并使文件系统为可写
sh-4.2 # mount -o remount,rw /
sh-4.2 # passwd root (回车后需输入两次密码,成功后出现如下提示):
passwd:all authentication tokens updated successfully.
3.加载 SELinux 策略,并重启系统
sh-4.2 # touch /.autorelabel sh-4.2 # exec /sbin/init
系统初始化完毕后会自动重启,用新密码登录即可。