如何在 CentOS 8、RHEL 8、AlmaLinux 8、Rocky Linux 8 中重置 Root 用户密码

这个简短的教程解释了如何在 CentOS 8 和 RHEL 8 服务器版本中重置 root 密码。 当您丢失了 root 用户的密码并想在不使用任何其他恢复工具的情况下恢复 root 密码时,此快速提示将很有帮助。 由于您必须登录 单用户模式 要恢复密码,您应该可以物理访问系统。 如果服务器托管在其他地方,您可能需要托管服务提供商的帮助。

在 CentOS 8、RHEL 8 中重置 root 密码

我在 CentOS 8 服务器上测试了本指南,但它也应该在 RHEL 8 及其克隆版本(如 AlmaLinux 8 和 Rocky Linux 8)中工作。

步骤1: 启动 CentOS 服务器。 当 GRUB 启动菜单出现时,选择您要启动的内核版本,然后按 e 编辑选定的引导条目。

在 centos 8 中编辑 grub 启动菜单项

第2步: 在下一个屏幕中,您将看到内核启动参数。 找到内核参数 ro

在centos 8的grub条目中查找’ro’内核参数

……改变 rorw 并添加一个额外的参数 init=/sysroot/bin/sh 用空格分隔,如下所示。 简单地说,替换 'ro' 参数与 'rw init=/sysroot/bin/sh'. 请注意中间的空格 "rw" 和 ”init=/sysroot……”。

用 rw 参数替换 ro用 rw 参数替换 ro

第 3 步: 如上图更改参数后,按 Ctrl+x 进入紧急模式,即单用户模式。

在紧急模式下,输入以下命令以挂载 root (/) 文件系统处于读/写模式。

chroot /sysroot/
在centos 8中以读写模式挂载根文件系统在centos 8中以读写模式挂载根文件系统

步骤4: 现在,使用命令更改 root 用户密码:

passwd root

Enter 密码两次。 我建议您使用任何包含数字和特殊字符的强密码。

在centos 8中重置或更改root密码在centos 8中重置或更改root密码

第 5 步: 更新 root 密码后,输入以下命令以启用 SELinux relabeling on reboot :

touch /.autorelabel
在 centos 8 中启用 SELinux relabeling on reboot在 centos 8 中启用 SELinux relabeling on reboot

第 6 步: 最后,键入以下命令以应用更改并将 CentOS 服务器重新启动到正常模式:

exit
reboot

等待 SELinux 重新标记过程完成。 这将需要一些时间,具体取决于硬盘驱动器的文件系统大小和速度。

SELinux 文件系统重新标记过程SELinux 文件系统重新标记过程

第 7 步: 文件系统重新标记完成后,您可以使用新的 root 密码登录到 CentOS 8 服务器:

登录centos 8服务器登录centos 8服务器

在 CentOS 8、RHEL 8 及其克隆(如 AlmaLinux 8 和 Rocky Linux 8)中重置忘记的 root 密码的步骤到此结束。

相关阅读:

  • 如何在 Ubuntu 20.04 LTS 中重置 Sudo 密码

CentOSCentOS 8紧急模式LinuxLinux疑难解答Red Hat Enterprise Linux 8重置root密码RHELRHEL 8S单用户模式