本文介绍在CentOS 7/RHEL 7操作系统上重置root密码的方法,如果你忘记了root密码,可以使用此方法处理。请注意,CentOS 7和RHEL 7附带GRUB2版本,无法在RHEL 6.x和CentOS 6.x支持的单用户模式下重置root密码,root密码现在以单用户模式和紧急模式运行。对于RHEL 8/CentOS 8系统,请看在RHEL 8系统中重置root密码的方法。
方法1、在CentOS 7/RHEL 7上重置root
1、启动系统并在Grub2启动菜单屏幕上,按键盘上的e进入Grub编辑模式。
2、按“e”后,向下滚动到linux16行并删除rhgb、quiet和LANG参数(删除这三个文字),然后移动到行尾,按ctrl+e并移动到行的前面按ctrl+a,Linux16行将是UEFI系统上的linuxefi。
3、在UEFI系统的情况下,linux16行或linuxefi结束时,添加以下行:
rd.break
即类似于:
linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mapper/centos-root \
ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rd.break
注:上面第2步删除rhgb、quiet和LANG参数在这段代码中是完全没有的。
4、要在解析New参数的情况下引导系统,请按ctrl+x,它将带你进入提示窗口。
5、将文件系统挂载为读写,当文件系统不可写时,不能更改密码,通过输入以下命令可以将重新装入写入:
# mount -o remount,rw /sysroot
6、Chroot进入/sysroot
# chroot /sysroot
7、现在更改密码:
# echo password | passwd --stdin root
用要使用的密码替换密码。
8、在下次启动时设置SELinux重新标记:
# touch /.autorelabel
9、恢复初始化并恢复System by:
# exit
# exit
见下图图示:
方法2、在CentOS 7/RHEL 7上重置root
1、另一种方法是启用mount作为rw,你的最后一行linux16包含:
rw init=/bin/bash
即类似于:
linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mapper/centos-root \
ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rw init=/bin/bash
2、按ctrl+x快捷键,将提示你使用bash终端窗口。
3、现在更改密码:
# echo password | passwd --stdin root
用你要使用的密码替换密码。
4、在下次启动时设置SELinux重新标记:
# touch /.autorelabel
5、通过键入exec/sbin/init恢复重新启动以完成密码重置:
# exec /sbin/init
现在可以使用新密码登录了。
相关主题