CentOS 7密码忘记怎么办?详细解决方法教程

忘记CentOS 7密码?别慌,按步骤操作即可

CentOS 7作为流行的Linux服务器操作系统,有时可能会遇到忘记root密码的情况。此时你不需要重装系统,通过以下两种方法之一即可轻松重置密码。

方法一:使用单用户模式重置密码

  1. 重启服务器,在GRUB引导菜单出现时,按 e 键进入编辑模式。
  2. 找到以 linux16 或 linuxefi 开头的行(通常包含 rhgb quiet)。
  3. 在该行末尾添加参数:rd.break enforcing=0(注意空格),然后按 Ctrl+X 或 F10 启动。
  4. 系统会进入救援 shell(initramfs)。执行 mount -o remount,rw /sysroot 挂载根文件系统为读写。
  5. 执行 chroot /sysroot 切换到真实系统环境。
  6. 使用 passwd 命令修改root密码,按提示输入两次新密码。
  7. 如果之前启用了SELinux,需要创建自动重新标记文件:touch /.autorelabel
  8. 输入两次 exit 退出chroot和shell,系统会继续启动。稍等片刻,SELinux会自动重新标记文件(可能需要较长时间)。
  9. 启动完成后,使用新密码登录root。

方法二:使用系统救援模式

如果你有CentOS 7安装介质(光盘或U盘),可以使用救援模式重置密码:

  1. 从安装介质引导,选择 Troubleshooting → Rescue a CentOS system。
  2. 按提示选择语言和键盘布局,然后选择 1 继续挂载系统。
  3. 系统会尝试挂载现有Linux分区,成功后进入shell。如果失败,手动挂载根分区到 /mnt/sysimage。
  4. 执行 chroot /mnt/sysimage 进入系统环境。
  5. 使用 passwd 修改root密码,然后执行 touch /.autorelabel(如果使用SELinux)。
  6. 退出chroot并重启:exit → reboot。

注意事项

  • 如果系统启用了SELinux且未执行 autorelabel,重启后可能无法正常登录,此时需进入单用户模式手动修复。
  • 对于使用UEFI的机器,GRUB编辑方法类似,但参数可能不同。
  • 如果系统是虚拟机,可以在虚拟化平台通过修改内核参数进入单用户模式。

通过以上两种方法,你可以轻松重置CentOS 7的root密码,恢复正常访问。操作过程中请仔细阅读每一步,避免误操作导致系统损坏。