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

XMSDN

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,需先解除相关安全绑定。

💡 温馨提示

📌 阅读须知 Rules & Notice

本站坚持免费分享,致力于为大家提供实用、优质的内容与资源。

🔗欢迎大家收藏与转发,转载请保留本站链接,请勿私自去除版权信息。

📚所有外部整理资源,仅作学习交流使用,请勿用于各类商业用途。

🤝网络相聚本是缘分,希望大家文明交流,理性浏览。

🛠️若发现内容有误或涉及侵权,我们将第一时间处理整改。

💖 感谢每一位朋友的陪伴与支持

✨ 用心分享,一路同行 ✨

目录[+]