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