RHEL7.4进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。重置密码主要有rd.break和init两种方法。(经过测试RHEL7.4 通过)。
- RHEL7 忘记密码修改root密码 (经过测试RHEL7.2 / 7.1 通过) 见 https://www.linuxidc.com/Linux/2016-06/132069.htm
rd.break方法:
1、启动系统后,会出现下面这种情况,我们按(e)进入grub模式;
2、进入后,找到linux16开头这行,按“end”键到最后输入rd.break,按ctrl+x组合键继续;
3、进去后输入如下命令:
mount -o remount,rw /sysroot #挂载/sysroot
chroot /sysroot #切换至系统
passwd root #更改密码
touch /.autorelabel #更新系统信息文件(touch /.autorelabel 这句是为了使得selinux生效,否则将无法正常启动系统)
至此,密码修改完成
那我们要怎么防止被别人进入grub破解root密码呢?
就是在grub加密。gurb2密码有明文跟密文。我们一一演示一下.
进入系统后,输入 vim/etc/grub.d/10_linux
添加以下命令:
cat <<EOF
set superusers="laotang6"
password laotang6 123456
EOF
#(laotang6是用户名,123456是密码,这个大家根据自己设定)
grub2-mkpasswd-pbkdf2 #生成新的grub文件
重启电脑,按e进入grub模式,发现被加密了,要帐号密码才能进入。
密文加密就是先把自己的密码转化为一串加密的字符串
grub2-mkpasswd-pbkdf2 #生成密码加密
vim /etc/grub.d/10_linux
cat <<EOF
set superusers="laotang6"
password_pbkdf2 laotang6 生成的密码加密
EOF
以上实验演示完毕!
init方法:(此方法没有修改成功,先做记录,推荐使用上面的rd.break方法)
-
启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。
- 在linux16所在参数行ro更改为rw rd.break init=/sysroot/bin/sh
- 按Ctrl+x启动到shell。
- 挂载文件系统为可写模式:mount –o remount,rw /sysroot (如果没有改成rw执行这一步)
- 换根 chroot /sysroot
- 运行passwd,并按提示修改root密码。
7.如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch /.autorelabel (必须做,我未做时,密码没有修改成功)
8、exit退出
9、reboot 重启
更多RedHat相关信息见RedHat 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=10
本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-07/159387.htm