news 2026/7/12 19:02:13

CentOS 7丢失或忘记root密码的恢复流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CentOS 7丢失或忘记root密码的恢复流程

CentOS 7丢失或忘记root密码的恢复流程

适用场景

  • CentOS 7/RHEL 7
  • 拥有系统控制台/虚拟化平台的访问权限
  • 能自行进入GRUB
  • root密码丢失或被锁定

故障现象

  • 无法使用已知密码登录root
  • 单用户模式下修改密码后重启,仍提示:
    1. Login incorrect
    2. 输入用户名后不显示password,而是直接返回login:

恢复流程

进入GRUB编辑模式

  1. 重启系统
  2. 在GRUB菜单界面跳到第一行按e,编辑GRUB的启动参数(这个界面默认只停留五秒,手速得快)
GRUB启动菜单(下方有提示说明)
4. 进入后,控制键盘方向键向下定位到以linux16开头的行

修改内核启动参数

将以linux16开头的行中的“ro”改为“rw”,然后在行末空一格加上init=/bin/bash selinux=0

(修改完后按 Ctrl+x 启动)

说明
  • rw:以读写模式挂载根文件系统
  • init=/bin/bash:直接进入Bash,绕过正常初始化
  • selinux=0:本次启动禁用SElinux,避免安全上下文校验
  • 若当前行位置不够,可选择删除行内的“rhgb quiet”显示完整启动日志

单用户模式下的操作

等待系统启动,出现 # 提示符后可依次输入执行以下命令:

mount-oremount,rw /# 确保根文件系统为可写sed-i's|^root:[^:]*:|root::|'/etc/shadow# 清空root密码字段passwd-ufroot# 强制解锁root账户synf# 同步数据到磁盘exec/sbin/init# 启动系统初始化进程

登陆与重置密码

  1. 系统重启后,用户名输入root,直接按回车即可登入root账户
  2. 登陆成功后立即输入 passwd 命令设置新的密码

技术背景

/bin/bash 与 /bin/sh

  • init=/bin/sh 会进入POSIX兼容模式,在此模式下 passwd 可能因交互限制导致写入失败
  • 建议使用 init=/bin/bash

SELinux约束

  • CentOS 7默认启用SELinux
  • 若 /etc/shadow 的安全上下文不正确,PAM会拒绝认证
  • 单用户修复时需显式处理SELinux

root账户锁定

  • /etc/shadow 中root字段以 ! 或 * 开头表示锁定
  • 锁定状态下,系统不会提示输入密码

问题排查

现象原因解决
不提示 Passwdroot被锁定passwd -uf root
密码正确但登录失败SELinux拦截selinux=0 或 touch / .autorelable(在单用户模式下输入)
修改后无效根分区只读mount -o remount,rw /
新密码写入失败使用了sh改用init=/bin/bash

总结一下

在CentOS 7环境中,root密码丢失恢复完成后,需满足以下三个条件:
1. 根文件系统以读写方式挂载
2. root账户最终处于未被锁定状态
3. SELinux约束被妥善处理
通过 rw 、init=/bin/bash 、 selinux=0 启动参数可稳定进入单用户环境进行修复。该方法适用于物理机、虚拟机、及主流云平台示例

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 18:56:41

Spring Security OAuth2.0(19):JWT令牌/生成令牌/校验令牌

文章目录1. JWT令牌介绍1.1 什么是JWT?1.2 JWT的结构1.3 JWT的应用场景2 如何配置JWT令牌2.1 修改UAA工程配置JWT令牌服务2.2 修改业务模块的代码本地检查令牌1. JWT令牌介绍 1.1 什么是JWT? JWT(JSON Web Token)是一种开放标准…

作者头像 李华
网站建设 2026/7/12 18:53:52

归并排序Java代码,分而治之!这算法,不学后悔一辈子

归并排序算法详细解析之中, 归并排序属于一种经典的分治法算法, 它在数据结构课程里占据着重要的地位, 尤其是在那本由严蔚敏和吴伟民编著、清华大学出版社出版的《数据结构(C语言版)》一书中。该算法的核心函数Merge(), 目的在于合并两个已经排序好的子序列, 从而形成一个全新…

作者头像 李华
网站建设 2026/7/12 18:53:19

高并发场景测试方案设计

普通接口压测无法模拟秒杀、抢购、大促等高并发场景,高并发测试需要专属方案设计、场景建模、数据准备、压测策略、校验规则。本文手把手教你落地企业高并发场景测试方案,适配秒杀、限时活动、峰值流量场景。一、高并发场景核心特点瞬时大流量、集中请求…

作者头像 李华