CentOS 7 单用户模式重置 root 密码完整指南
📌 前言
在日常 Linux 系统管理中,我们有时会遇到 忘记 root 密码或者由于一些意外操作导致root账户锁定等情况。CentOS 7 提供了 **单用户模式(救援模式)**,允许我们在不登录的情况下重置密码。本文将详细介绍如何通过 rd.break 进入单用户模式,并安全地修改 root 密码。
🔧 适用场景
忘记 root 密码,无法登录系统
系统管理员权限丢失,需要恢复访问
测试环境 需要快速重置密码
🚀 操作步骤
1. 进入 GRUB 引导菜单
- 重启 CentOS 7 服务器,在启动界面按
↑ / ↓
键停止自动引导。 - 在 GRUB 启动菜单 界面,选中 CentOS 7 启动项,按
e
进入编辑模式。
- 修改启动参数
- 找到以linux16开头的行,在行尾添加:
init=rd.break
- 按
ctrl+x
或者F10
启动系统进入单用户模式
- 挂载文件系统并修改密码
- 检查当前挂载状态
mount | grep root
- 如果 /sysroot 是
ro
(只读),需要重新挂载为读写模式
# 设置读写模式
mount -o remount,rw /sysroot
# 切换根目录
chroot /sysroot
- 修改root密码
passwd root
# 然后输入两次新密码即可
- 更新 SELinux 上下文(避免权限问题)
touch /.autorelabel
- 退出并重启
exit
reboot
拓展:如何判断是否启用SELinux?
cat /sys/fs/selinux/enforce
# 输出为1:表示 SELinux 处于 ** 启用(Enforcing)** 状态
# 输出为0:表示 SELinux 处于 ** 宽容(Permissive)** 状态(仅记录违规但不阻止)
# 提示No such file or directory:表示 SELinux未启用(Disabled)cat /etc/selinux/config | grep SELINUX=
# SELINUX=enforcing:启用且强制实施。
# SELINUX=permissive:启用但仅记录不阻止。
# SELINUX=disabled:完全禁用。
建议
1. 密码管理:
- 使用密码管理器记录重要密码
- 定期轮换 root 密码
2. 替代方案:
- 配置 SSH 密钥登录(更安全且无需记忆密码)
- 使用 sudo 替代直接 root 登录
3. 安全加固:
- 启用 GRUB 密码防止未授权修改启动参数
- 通过 chage -M 90 root 设置密码过期时间