首页/系统/Linux 运维命令速查/场景:忘记 root 密码的恢复

场景:忘记 root 密码的恢复

物理机/控制台可进入 GRUB 的场景:单用户模式改密;云主机优先用控制台重置。涉及重启与停机,务必走变更流程。

Linux 运维命令速查系统更新于 2026-10-13

这个场景要解决什么

忘记 root 口令时,只要能进引导菜单或接触到控制台,就能通过修改启动参数拿到一个不经认证的 root shell,再重置口令。流程分三步:编辑启动项、进入特权环境、重置口令并重启。云主机优先走平台提供的控制台或重置功能,避免误操作整机。

基本信息

适用场景root 口令遗失,无法登录
前提条件能访问引导菜单或服务器控制台
目标重置口令并让系统恢复正常启动
影响面涉及重启,属于停机操作,要走变更流程

标准步骤

  • 在引导菜单编辑内核启动项,追加进入特权环境的参数
  • 进入不带认证的 shell,把根文件系统重新挂载为可写
  • 执行改密命令;启用强制访问控制的系统还要额外打标
  • 退出并正常重启,验证能登录
  • 把这类操作纳入规范管理:控制台访问权限等同于最高权限

第 1 步 编辑启动项

第 1 步 编辑启动项
开机时在引导菜单编辑内核启动行,行尾追加:
- rd.break          (RHEL 系常用)
- init=/bin/bash    (通用写法)
- single            (单用户模式)
然后按 Ctrl+X 启动

第 2 步 RHEL 系流程

第 2 步 RHEL 系流程
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel      # 启用强制访问控制的系统必须执行
exit
reboot -f

第 3 步 通用流程

第 3 步 通用流程
mount -o remount,rw /
passwd root
exec /sbin/init    # 或 sync 之后直接重启

要点对照

要点说明风险
编辑启动参数在引导菜单追加参数需要控制台访问权限
重新挂载可写特权环境下根文件系统常常是只读漏做则改不动任何文件
安全策略打标强制访问控制下需触发重新标记漏做则新口令无法登录
重置后重启完整走一遍启动流程直接断电有数据风险
云主机替代方案用平台控制台或重置功能比手动改启动项更可控
这个流程绕过所有认证,等于证明「能碰到控制台就等于拿到最高权限」。物理安全与管理面安全应当按同一等级来对待。
启用强制访问控制的系统改完口令必须触发一次重新标记,否则改完仍然登录不了;重新标记过程可能耗时较长,别急着判定失败。

易错点

  • 改完口令忘记触发安全策略重新打标,密码改了却依然登录不了
  • 特权环境里根文件系统是只读的,不重新挂载就改不动文件
  • 改完不重启而是直接断电,可能造成文件系统不一致
  • 在云主机上手动改启动项,误操作可能让实例彻底进不了系统
  • 事后不留记录,控制台级别的操作缺乏审计线索

数据来源与参考

  • Red Hat 文档:Resetting the root password
  • man 8 passwd

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌