问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CentOS 7系统root密码重置指南:3分钟紧急恢复方案

创作时间:
作者:
@小白创作中心

CentOS 7系统root密码重置指南:3分钟紧急恢复方案

引用
CSDN
1.
https://blog.csdn.net/2401_86544677/article/details/145895068

CentOS 7系统root密码重置指南:3分钟紧急恢复方案

一、操作前准备

  1. 物理机环境:确保拥有键盘和显示器访问权限
  2. 虚拟机环境(VMware/VirtualBox):
# 关闭加密启动(VMware示例)
虚拟机设置 -> 选项 -> 高级 -> 取消勾选"加密"
  1. 重要数据备份(可选):
mount /dev/sda1 /mnt
cp -r /mnt/important_data /external_drive/

二、单用户模式破解密码(关键步骤)

2.1 进入GRUB菜单
  1. 重启系统,在启动界面快速按↑或↓键
  2. 出现如下界面立即按下e键:
GNU GRUB version 0.97
CentOS Linux (3.10.0-1160.el7.x86_64) 7.9.2009 (Core)
2.2 修改启动参数
  1. 找到以linux16开头的行
  2. 定位到ro参数,修改为:
rw init=/sysroot/bin/sh
  1. 完整参数示例:
linux16 /vmlinuz-3.10.0-1160.el7.x86_64 ro root=/dev/mapper/centos-root \
crashkernel=auto rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8

改为:

linux16 /vmlinuz-3.10.0-1160.el7.x86_64 rw init=/sysroot/bin/sh \
root=/dev/mapper/centos-root crashkernel=auto rd.lvm.lv=centos/root
2.3 进入紧急模式
  1. 按Ctrl+X启动系统
  2. 挂载系统分区:
chroot /sysroot
mount -o remount,rw /

三、密码修改与修复

3.1 修改root密码
passwd root
# 按提示输入两次新密码,示例输出:
# Changing password for user root.
# New password: 
# Retype new password: 
# passwd: all authentication tokens updated successfully.
3.2 SELinux修复(关键!)
touch /.autorelabel
# 必须执行,否则重启后可能无法登录
3.3 重启系统
exec /sbin/init 6
# 或
reboot -f

四、验证与异常处理

4.1 登录验证
  1. 等待系统自动重启(约2分钟)
  2. 使用新密码登录:
login: root
Password: ********
Last login: Wed Feb 27 10:00:00 on tty1
4.2 常见问题解决
  1. GRUB菜单无法停留
# 修改GRUB配置
vi /etc/default/grub
GRUB_TIMEOUT=5  # 修改等待时间为5秒
grub2-mkconfig -o /boot/grub2/grub.cfg
  1. SELinux导致登录失败
# 重启进入单用户模式执行
fixfiles -F onboot
  1. LVM卷识别失败
vgchange -ay  # 激活卷组
lvdisplay     # 查看逻辑卷路径

五、安全加固建议

  1. 设置备用管理员账户
useradd admin
passwd admin
usermod -aG wheel admin
  1. 启用sudo权限
visudo
# 添加:admin ALL=(ALL) ALL
  1. 密码策略设置
vi /etc/login.defs
PASS_MAX_DAYS 90    # 密码有效期
PASS_MIN_LEN 10     # 最小长度

操作流程图解:

graph TD
    A[重启系统] --> B{进入GRUB菜单}
    B --> |按e编辑| C[修改启动参数]
    C --> |Ctrl+X启动| D[进入紧急模式]
    D --> E[修改root密码]
    E --> F[创建SELinux标记]
    F --> G[重启验证]

注意事项:

  1. 生产环境操作前建议创建系统快照
  2. 加密磁盘需要额外处理LUKS密码
  3. UEFI系统需注意引导加载器差异
  4. 如果使用XFS文件系统无需额外操作

完成上述步骤后,可通过last命令查看登录记录,确认密码修改成功:

last | head -n 5
# 正常应显示最新登录记录
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号