CentOS 系统密码重置完整流程
-
重启系统并进入 GRUB 菜单
重启服务器,在启动界面出现时按下 Esc 或 Shift 键,进入 GRUB 引导菜单。若未显示菜单,可尝试多次按键。
-
编辑启动参数
选择默认的内核启动项(通常为第一项),按下 e 键进入编辑模式。根据 CentOS 版本修改参数:
- CentOS 7:找到以
linux16
开头的行,将 ro 改为 rw init=/sysroot/bin/sh1。
- CentOS 8/9:找到以
linux
开头的行,在行末添加 rd.break 参数。
-
启动进入维护模式
按下 Ctrl+X 或 F10 启动修改后的内核。系统将进入单用户模式(CentOS 7)或紧急模式(CentOS 8/9)。
-
挂载根文件系统为可读写
在紧急模式下(CentOS 8/9),执行以下命令:
mount -o remount,rw /sysroot
CentOS 7 用户若已通过 rw init=/sysroot/bin/sh
参数启动,可跳过此步骤。
-
切换到真实根目录
执行以下命令进入系统根目录:
-
修改 root 密码
使用 passwd
命令重置密码:
按提示输入新密码(需符合复杂度要求,如至少 8 位、包含大小写字母和数字等)。若提示乱码,可先执行 LANG=en
切换语言。
-
更新 SELinux 上下文
执行以下命令确保 SELinux 策略生效:
此步骤在 SELinux 处于 enforcing
模式时必须执行,否则可能导致登录失败。
-
退出 chroot 环境
执行 exit
命令返回紧急模式或单用户模式。
-
重启系统
输入以下命令重启:
系统重启后,使用新密码登录。若无法登录:
- 检查 SELinux 状态(
getenforce
),若为 enforcing
,需重新执行 touch /.autorelabel
并重启。
- 确认密码复杂度是否符合策略(如
/etc/security/pwquality.conf
中的配置)。
-
物理服务器与云服务器差异
- 物理服务器:需物理访问或通过 KVM 工具操作。
- 云服务器:部分云服务商(如阿里云、AWS)提供远程密码重置功能,可通过控制台直接操作。
-
LVM 或加密文件系统
若系统使用 LVM 或加密卷,需先激活卷组(vgchange -ay
)或解锁加密分区,再执行后续步骤。
-
GRUB 加密保护
若系统启用了 GRUB 密码,需先输入密码才能编辑启动项。可通过 grub2-setpassword
命令设置或重置。
-
救援模式备用方案
若单用户模式无法进入,可通过 CentOS 安装光盘或 U 盘启动,选择 Rescue a CentOS system 进入救援模式,挂载系统分区后重置密码。
- 使用强密码(包含大小写字母、数字、特殊字符,长度≥8 位)。
- 定期更换密码,避免重复使用旧密码。
- 限制 root 用户远程登录,通过普通用户使用
sudo
提权。
版权声明:
作者:SE-YangYao
链接:https://www.cnesa.cn/4986.html
文章版权归作者所有,未经允许请勿转载。
THE END