重置root管理员密码(CentOS8/UOS20)
2026/6/9 1:59:05 网站建设 项目流程

重置root管理员密码 CentOS8/UOS20

  • 学习目标:
  • 学习内容
    • 一、理论基础
      • 1.GRUB 引导程序:
      • 2.单用户模式(救援模式):
      • 3.文件系统挂载状态:
    • 二、实践操作步骤
      • 前提条件​
      • 步骤 1:进入 GRUB 编辑界面​
      • 步骤 2:修改内核启动参数,进入单用户模式​
      • 步骤 3:重新挂载根分区为可写模式​
      • 步骤 4:重置 root管理员密码​
      • 步骤 5:退出并重启系统​
      • 步骤 6:验证密码是否生效​
    • 三、注意事项与常见问题​
      • 1.密码复杂度要求:
      • 2.GRUB 菜单不显示:
      • 3.远程服务器操作:
      • 4.SELinux 相关:

学习目标:

1.了解重置root管理员密码的原理
2.掌握重置root管理员密码的方法

学习内容

一、理论基础

在开始重置root管理员密码操作前,先理解重置密码的底层逻辑,避免盲目操作:​本章节内容以(CentOS8.5/UOS20)为例

1.GRUB 引导程序:

Linux 启动时首先加载GRUB(Grand Unified Bootloader)它是系统启动的 “桥梁”,负责引导内核启动。重置密码的关键是通过GRUB修改内核启动参数,进入特殊模式。​

2.单用户模式(救援模式):

Linux系统的单用户模式是一种最小化运行环境,仅加载必要的内核和文件系统,不启动网络服务和其他进程,且默认以root权限登录(无需密码验证),这是重置密码的核心环境。

3.文件系统挂载状态:

Linux 默认将根分区(/)以 “只读(ro)” 模式挂载到单用户模式,重置密码前需手动改为 “可读可写(rw)”,否则无法修改密码文件(/etc/shadow,存储用户密码哈希)。

二、实践操作步骤

前提条件​

物理机/虚拟机可直接操作本地开机界面;​
远程服务器需通过控制台(如 VMware Console、阿里云 ECS 控制台、华为云 VNC)等操作。
注:(SSH 无法连接单用户模式)。

步骤 1:进入 GRUB 编辑界面​

重启 CentOS8 系统,开机时屏幕会显示 GRUB 引导菜单(默认停留 5 秒左右,若未显示,可在开机时按Shift键唤醒);​
菜单中选中当前使用的内核(通常是第一个选项,标注 “CentOS Linux (x.x.x-x.el8.x86_64) 8”);​
按键盘上的 e 键进入 GRUB 编辑模式(此时不会执行启动,仅编辑临时启动参数)。​

图1 CentOS8开机界面
图2 UOS20开机界面

步骤 2:修改内核启动参数,进入单用户模式​

在编辑界面中,找到以 linuxefi /vmlinuz-xxx root=xxx ro crashkernel=auto… 开头的行(核心内核参数行);​
移动光标到该行末尾,删除默认的 rhgb quiet(图形化静默启动参数,删除后显示详细启动日志);​
新增单用户模式参数:rd.break(内核启动时中断正常流程,进入救援 shell);​
确认修改后,按 Ctrl+X 执行启动,进入救援模式(此时系统仅加载根文件系统的临时挂载点)。
)。

图3 CentOS8新单用户模式参数(见红框内)

图4 UOS20 新单用户模式参数(见红框内)

步骤 3:重新挂载根分区为可写模式​

进入救援 shell 后,当前根分区(/sysroot)默认是只读挂载,执行以下命令重新挂载为可写:​​

mount-o remount,rw /sysroot​

切换到系统真实根环境(chroot 命令将当前 shell 切换到系统的根目录):​

chroot/sysroot​

此时命令行提示符会变为 sh-4.4#,表示已进入系统真实根环境,可执行密码修改操作。​

步骤 4:重置 root管理员密码​

执行密码修改命令,按提示输入新密码(密码输入时不显示明文,输入完成按回车即可):​

passwdroot​

​示例:​

sh-4.4# passwd root​Changing passwordforuser root.​ New password:#(输入新密码,如123@CentOS8)​Retype new password:#(再次输入新密码确认)​passwd: all authentication tokens updated successfully.#(提示成功即表示密码修改完成)​

(可选)关闭 SELinux 临时限制(避免密码修改后因 SELinux 安全策略导致登录失败):​
执行以下命令创建 SELinux 上下文自动修复文件(下次重启时生效):​

​touch /.autorelabel​


图5 CentOS 8 重置root管理员密码


图6 UOS 20重置root管理员密码

步骤 5:退出并重启系统​

依次执行以下命令退出 chroot 环境、重新挂载根分区为只读(规范操作):​

exit# 退出chroot根环境,回到救援shell​mount-o remount,ro /sysroot# 重新挂载为只读​exit# 退出救援shell,系统自动继续启动流程​

系统会自动完成剩余启动步骤,或直接执行 reboot 命令重启:​

reboot

步骤 6:验证密码是否生效​

系统重启后,在登录界面输入新设置的 root 密码,即可成功登录系统;​
若登录失败,检查以下问题:​
1.密码是否输入正确(区分大小写、特殊字符);​
2.是否遗漏 /.autorelabel 文件(SELinux 未关闭可能导致密码验证失败);​
3.重新执行步骤 1-5,确认每一步命令无错误。​

三、注意事项与常见问题​

1.密码复杂度要求:

CentOS8 默认启用密码复杂度策略(至少 8 位,包含大小写字母、数字、特殊字符),若输入简单密码会提示错误,需按要求设置;​

2.GRUB 菜单不显示:

部分服务器默认隐藏 GRUB 菜单,开机时持续按 Shift 键(BIOS 启动)或 Esc 键(UEFI 启动)即可唤醒;​

3.远程服务器操作:

必须通过云厂商提供的控制台(如 ECS 实例的 VNC 连接)操作,SSH 无法连接单用户模式;​

4.SELinux 相关:

若未创建 /.autorelabel 文件,重启后可能出现 “登录密码正确但无法登录”,此时可在 GRUB 编辑模式中新增 selinux=0 参数临时关闭 SELinux,登录后再调整 SELinux 策略。​

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询