单用户模式

在linux下解决这个问题需重启linux系统,然后引导进入linux的单用户模式(init 1),由于单用户模式不需要输入登录密码,因此,可以直接登录系统,修改root密码即可解决问题。

重点内容:

如何重启系统,进入单用户模式(centos6.x和centox7.x方式不同)

centos 6及之前版本

系统开机界面,按e​,进入GRUB界面

选择内核,按e​进入编辑界面

选择kernel那一行,再次按e​

输入single​ 然后回车

选择kernel这一行,按b​,进入单用户模式

然后直接执行passwd root​给root用户改密码

然后输入reboot​重启,就修改完成了

centos7及以上

开机进入引导页面 快速按e​,会停在这个界面


然后再次按e​,进入编辑界面,将光标移到linux16​这一行的行尾

在行尾加上init=/bin/sh

然后按ctrl+x,继续引导,进入单用户界面

由于centos7下,单用户模式是不可写的,需要重新挂载根目录

执行 mount -o remount,rw /​


然后执行df -h​出现了乱码,暂时修改语言(如果本身是英文,那就不会出现乱码,可以跳过修改语言这一步)

查看当前语言

执行locale​

修改成英文

执行export LANG=en_US​

然后再查看,就没有乱码了

然后修改密码

执行passwd​

注意:如果SELinux是开启的,需要创建一个文件

执行touch /.autorelabel​

或者

也可以直接修改/etc/selinux/config​文件

把SELINUX=enforcing​改成SELINUX=disabled​

否则

修改的密码将无法生效,导致无法登录(注意,默认情况下,selinux是开启的)

然后重启

因为单用户模式下,根目录已经不再是之前的根目录,所以无法找到reboot命令

需要执行exec /sbin/init​重启

然后密码就修改成功了



---------------------------------------------------------------

/boot/grub/grub.conf文件解读