CentOS 7.0和RHEL 7.0进入单用户模式重置root密码

      CentOS 7&RHEL 7与之前的5,6不同的是,当忘记root密码,并采用GRUB2为启动器时,将无法通过单用户模式重置root密码。下面将介绍如何重置CentOS7的root密码。

1、启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式,如下图:
CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

2、进入下一个界面后,用方向键找到”linux16……“所在的行,然后按“End”键定位到行尾,加入内容:init=/bin/sh ,如下图:
CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

3、按Ctrl+x,启动到单用户模式的界面,如下图:
CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

4、在此提示符下输入以下命令,挂载文件系统为可写模式,输入的命令不会显示出来,输入完成按回车

mount -o remount,rw /

输入完成后,如下图显示:


CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

5、运行passwd,并按提示修改root密码(注意:输入passwd回车后,是输入两次新密码,密码只要输入一位,在这里我输入“a”,输入后会自动回车,提示修改密码成功)


CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

6、如果之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:

touch / .autorelabel (touch、/、.autorelabel之间用空格隔开)

输入完成后,会多一个提示符,如下图:
CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

7、运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启。


CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 
CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 那个进度指示到100%后,会重启进入系统登录界面
CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

8、进入系统后,如需要,可重新用passwd设置新的root密码,如下图:
CentOS 7.0和RHEL 7.0进入单用户模式重置root密码
 

 -------------------------------------分割线-------------------------------------

以下内容为从别的网站copy:

CentOS 7&RHEL 7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。

重置密码主要有rd.break和init两种方法。

rd.break方法:

1、启动的时候,在启动界面,相应启动项,内核名称上按“e”;

2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;

3、进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;

4、mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限;

5、chroot /sysroot/ 改变根;

(1)echo RedHat|passwd –stdin root 修改root密码为redhat,或者输入passwd,交互修改;

(2)还有就是先cp一份,然后修改/etc/shadow文件

6、touch /.autorelabel 这句是为了selinux生效

7、ctrl+d 退出

8、然后reboot

至此,密码修改完成

init方法:

1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。

2. 在linux16/linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh

3. 按Ctrl+x启动到shell。

4. 挂载文件系统为可写模式:mount –o remount,rw /

5. 运行passwd,并按提示修改root密码。

6. 如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch /.autorelabel

7. 运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启