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

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

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

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

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

一、操作前准备

  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
# 正常应显示最新登录记录

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号