**RHEL7.4进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。

重置密码主要有rd.break和init两种方法。(经过测试RHEL7.4 通过)**

rd.break方法:

1、启动系统后,会出现下面这种情况,我们按(e)进入grub模式;
RHEL7 忘记密码修改root密码_第1张图片

2、进入后,找到linux16开头这行,按“end”键到最后输入rd.break,按ctrl+x组合键继续;
RHEL7 忘记密码修改root密码_第2张图片

3、进去后输入如下命令:
mount -o remount,rw /sysroot #挂载/sysroot

chroot /sysroot #切换至系统

passwd root #更改密码

touch /.autorelabel #更新系统信息文件(touch /.autorelabel 这句是为了使得selinux生效,否则将无法正常启动系统)

RHEL7 忘记密码修改root密码_第3张图片
RHEL7 忘记密码修改root密码_第4张图片
至此,密码修改完成

那我们要怎么防止被别人进入grub破解root密码呢?

就是在grub加密。gurb2密码有明文跟密文。我们一一演示一下.

进入系统后,输入 vim/etc/grub.d/10_linux

添加以下命令:

cat <

RHEL7 忘记密码修改root密码_第5张图片
grub2-mkpasswd-pbkdf2 #生成新的grub文件
RHEL7 忘记密码修改root密码_第6张图片
重启电脑,按e进入grub模式,发现被加密了,要帐号密码才能进入。
RHEL7 忘记密码修改root密码_第7张图片
密文加密就是先把自己的密码转化为一串加密的字符串

grub2-mkpasswd-pbkdf2 #生成密码加密
RHEL7 忘记密码修改root密码

 vim /etc/grub.d/10_linux

cat <

RHEL7 忘记密码修改root密码_第8张图片
以上实验演示完毕!

init方法:(此方法没有修改成功,先做记录,推荐使用上面的rd.break方法)

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

  2. 在linux16所在参数行ro更改为rw rd.break init=/sysroot/bin/sh
    RHEL7 忘记密码修改root密码
    RHEL7 忘记密码修改root密码_第9张图片
  3. 按Ctrl+x启动到shell。
  4. 挂载文件系统为可写模式:mount –o remount,rw /sysroot (如果没有改成rw执行这一步)
    RHEL7 忘记密码修改root密码_第10张图片
  5. 换根 chroot /sysroot
  6. 运行passwd,并按提示修改root密码。
    7.如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch /.autorelabel (必须做,我未做时,密码没有修改成功)
    8、exit退出
    9、reboot 重启
    RHEL7 忘记密码修改root密码_第11张图片