找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4109

积分

0

好友

571

主题
发表于 2 小时前 | 查看: 4| 回复: 0

对于许多服务器环境而言,CentOS 8 或 RHEL 8 是常见的系统选择。强健的 root 密码至关重要,但万一你忘记了这个最高权限的密码,系统访问也就随之被锁。别慌,本文将引导你完成在 CentOS 8 及 RHEL 8 系统上重置已遗忘的 root 密码的完整过程。

本教程同样适用于较早的 CentOS 7 和 CentOS 6 版本。请注意,为了避免潜在的 SELinux 上下文标签问题,我们不会启用其自动重新标记功能,这是一种更稳妥的做法。

步骤一:在启动时进入 GRUB 菜单

重启你的服务器或虚拟机。在系统启动初期,当 GRUB 2 启动菜单出现时(通常会列出可启动的内核版本),迅速按下键盘上的 e 键。这会进入启动参数的编辑界面,而不是直接启动系统。

CentOS 8/RHEL 8启动菜单界面

步骤二:修改启动参数以进入应急模式

在打开的 GRUB 编辑界面中,使用键盘方向键找到以 linux 开头的那一行。在这行参数的末尾附近,定位到 rhgb quiet 这两个参数,并将它们替换为 rd.break enforcing=0

  • rd.break:在内核启动后、切换到真实根文件系统之前暂停,进入一个临时的 initramfs 环境。
  • enforcing=0:临时将 SELinux 设置为宽容模式,避免在后续操作中因安全策略导致问题。

修改GRUB启动参数为rd.break

步骤三:以修改后的参数启动系统

修改完成后,直接按下 Ctrl + X 组合键(或按 F10,根据提示操作),系统将使用我们刚刚编辑的参数启动。

确认并启动进入应急Shell

步骤四:重新挂载 /sysroot 为读写模式

系统会启动进入一个名为 “switch_root” 的紧急 Shell 环境。此时,真正的根文件系统 /sysroot 是以只读(ro)模式挂载的,我们无法修改其中的密码文件。首先,需要将其重新挂载为读写(rw)模式。

mount -o remount,rw /sysroot

注意:命令中的空格是关键,mount-o 之间、rw/sysroot 之间都必须有空格。执行后回车。

步骤五:切换根目录到 /sysroot

接下来,使用 chroot 命令将当前会话的根目录切换到 /sysroot,这样我们后续的操作就会直接作用于真实的系统文件。

chroot /sysroot

步骤六:使用 passwd 命令重置 root 密码

现在,我们已经身处真实的系统环境中。可以运行标准的 passwd 命令来修改 root 用户的密码了。

passwd root

步骤七:输入并确认新密码

执行命令后,系统会提示你输入新的密码。请注意,在输入过程中,光标不会移动,也不会显示任何字符(如星号),这是 Linux 终端的正常安全行为,只需正常键入你的新密码并回车即可。接着,系统会要求你再输入一次以确认。

密码需要满足一定的复杂性要求(通常至少8位),否则会收到警告。

步骤八:退出 chroot 环境

密码修改成功后,首先退出当前的 chroot 环境。

exit

步骤九:将 /sysroot 重新挂载为只读模式

出于安全考虑,在继续之前,我们需要将文件系统恢复为只读状态。

mount -o remount,ro /sysroot

完成密码重置并重新挂载为只读

步骤十:退出应急 Shell 并重启系统

再次执行 exit 命令,这次将退出应急 Shell。系统会自动继续启动流程并重启

exit

步骤十一:使用新密码登录

系统重启后,在登录界面使用用户名 root 和你刚刚设置的新密码登录,即可重新获得系统的完全控制权。

步骤十二(可选但推荐):恢复 SELinux 上下文并重新启用强制模式

如果系统启用了 SELinux,为了确保安全策略的一致性,建议执行以下清理和恢复操作。

  1. 恢复 /etc/shadow 文件(存储加密密码)的默认 SELinux 安全上下文:
    restorecon /etc/shadow
  2. SELinux 模式从临时的宽容模式(enforcing=0)切换回默认的强制模式:
    setenforce 1

至此,你已经安全地恢复了 CentOS 8RHEL 8 系统上丢失的 root 密码。这个方法通过 initramfs 应急环境绕过了正常的身份验证,是管理员必须掌握的关键运维恢复技能之一。

如果在操作中遇到其他系统层面的难题,欢迎到 云栈社区 的相关板块与更多技术同行交流探讨。




上一篇:使用JavaScript构建实时货币转换器:从基础HTML到生产级金融应用
下一篇:WSL Ubuntu 中使用 apt 安装与卸载 Linux 应用(以 unzip 为例)
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-11 05:22 , Processed in 0.412303 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表