linux 忘记root密码

RHEL6 及以前系统:

1)重启系统至grub引导界面,按ESC键。

2)光标定位到内核选项,按e进入编辑状态。

3)找到kernel那行,末尾添加single或1,即进入单用户模式。

4)按回车键,按b,引导进入单用户。

5)修改密码,修改完毕重启即可。

 

RHEL7:采用GRUB2为启动器时,将无法通过单用户模式重置root密码,重置密码主要有rd.break和init两种方法。

init方法:

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

2)在linux16/linux/linuxefi所在参数行尾添加以下内容:

init=/bin/sh

3)按Ctrl+x启动到shell。

4)挂载文件系统为可写模式:

mount -o remount,rw /

5)修改密码

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

touch /.autorelabel

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

 

rd.break方法:

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

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

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

mount -o remount,rw /sysroot/

重新挂载,之后mount,发现有了r,w权限;

4、chroot /sysroot/ 改变根;

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

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

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

6、ctrl+d 退出

7、然后reboot

你可能感兴趣的:(基础,linux)