CentOS 7/8忘记root密码?5步快速重置指南

admin

CentOS 7/8忘记root密码?5步快速重置指南

  1. 重启进入GRUB界面

    • 连续按重启键进入BIOS/UEFI设置
    • 找到操作系统选项并回车(通常为第一个启动项)
    • 按下Shift或Esc键进入高级启动模式
  2. 修改启动参数

    
CentOS 7/8忘记root密码?5步快速重置指南

    • 在GRUB菜单中选择默认启动项
    • 按 e 键进入编辑模式
    • 找到包含ro quiet splash的行(通常倒数第3-5行)
    • 在该行末尾添加 ro single(注意空格位置)
  3. 挂载文件系统

    • 执行mount -o remount,rw /sysroot
    • 对于CentOS 8用户,需先执行systemd-firstboot --rebuild
    • 确保已加载所需模块:modprobe efiboot
  4. 进入恢复模式

    • 执行chroot /sysroot
    • 更新环境变量:source /etc/profile.d/90sysroot.sh
    • 切换到恢复Shell:/bin/bash
  5. 重置root密码

    • 修改/etc/shadow文件:sudo nano /etc/shadow
    • 找到root用户的Shadow记录(前四位数字为用户ID)
    • 修改密码行(示例):x:112233:0:0:root:::
    • 使用openssl加密新密码:openssl passwd -1 的新密码
    • 保存后退出:exit > /dev/null
    • 重启系统:reboot -f

安全提示:

  1. 修改密码后需立即执行:chcon -t shadow_t /etc/shadow
  2. 建议重置密码后执行:sudo usermod -aG wheel root
  3. 保留原始密码记录至少7天
  4. 启用密码过期策略:sudo chage -M 90 root

操作验证:

  • 重启后使用新密码登录
  • 检查/etc/shadow文件哈希值
  • 验证sudo权限恢复状态

注:此方法适用于未启用LUKS加密的CentOS系统。若系统使用硬件加密狗或IPSec VPN,需先解除相关安全绑定。

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码