CentOS 7/8 单用户模式重置 root 密码完整流程
-
中断启动流程
- 启动虚拟机,在 GRUB 菜单加载时快速按 ESC 或 Shift 键
- 启动虚拟机,在 GRUB 菜单加载时快速按 ESC 或 Shift 键
-
编辑启动参数
-
选择默认启动项,按 e 进入编辑模式
-
找到
linux16
或linux
开头的行 -
-
在行末添加
rd.break
(确保与已有参数用空格分隔) -
按 Ctrl+X 或 F10 启动
-
-
重置密码操作
# 重新挂载根目录为可读写 mount -o remount,rw /sysroot# 切换根环境 chroot /sysroot# 修改密码(输入时不会显示) passwd root (输入新密码两次)# 创建SELinux标记文件 touch /.autorelabel# 退出chroot exit# 重启系统 reboot
重要注意事项:
- SELinux 重要性:
touch /.autorelabel
步骤至关重要,否则系统可能因安全上下文错误无法启动 - 密码复杂性:建议使用符合策略的强密码(大小写字母、数字、特殊字符组合)
- 云环境差异:AWS/Azure 等云主机可能需要通过云控制台重置密码
- 物理安全:此方法要求物理机访问权限,符合安全最佳实践
替代方案:
对于某些系统,也可在 GRUB 中添加:
init=/bin/bash
- 直接启动到bash shellsingle
或1
- 传统单用户模式