CentOS 7虚拟机忘记用户名和密码?3种方法教你轻松找回

LEAF
CentOS 7虚拟机忘记用户名和密码时,可通过3种方法快速找回:一是进入单用户模式,通过修改grub引导参数重置root密码;二是利用救援模式,挂载系统后手动更新密码文件;三是通过虚拟机控制台(如VMware的vSphere Client或KVM的virt-manager)交互式登录修改,操作前建议备份重要数据,避免误操作导致系统异常,这些方法均无需重装系统,可有效解决登录问题,适用于忘记本地用户或管理员密码的场景。

在管理CentOS 7虚拟机时,尤其是刚接触Linux的新手,难免会遇到忘记用户名或密码的尴尬情况,别慌!本文将介绍3种实用的方法,帮你快速重置CentOS 7的用户名和密码,重新获得虚拟机的访问权限。

常见场景:为什么会忘记用户名/密码?

忘记用户名或密码通常发生在以下场景:

  • 多人共用虚拟机,记不清自己的登录信息;
  • 长时间未使用虚拟机,遗忘登录凭据;
  • 自定义安装时设置了复杂的用户名/密码,未妥善记录。

无论是忘记用户名还是密码,以下方法都能帮你解决。

CentOS 7虚拟机忘记用户名和密码?3种方法教你轻松找回

方法一:通过GRUB引导菜单进入单用户模式(重置密码)

适用场景:记得用户名,但忘记密码;需要root权限重置其他用户密码。
核心原理:通过修改GRUB引导参数,让系统在启动时进入单用户模式(无需密码即可获得root shell),从而重置密码。

详细步骤:

  1. 重启虚拟机,进入GRUB引导界面
    开机时,快速按下 EscShift 键(不同虚拟化平台可能略有差异,如VMware按Esc,VirtualBox按Shift),进入GRUB引导菜单。

  2. 编辑引导参数
    在GRUB菜单中,选择 CentOS Linux (7.x) (内核版本)(通常第一个选项),按下 e 键进入编辑模式。

  3. 修改内核启动参数
    找到以 linux16linuxefi 开头的行(具体取决于启动模式),将行末尾的 ro 改为 rw init=/sysroot/bin/sh,然后按 Ctrl+X 启动。

    • 参数说明
      • ro(只读模式)改为 rw(读写模式):允许修改系统文件;
      • init=/sysroot/bin/sh:启动后直接进入 /sysroot 目录下的shell(单用户模式)。
  4. 重置密码
    系统启动后会进入一个简单的shell界面,输入以下命令:

    chroot /sysroot  # 切换到系统的实际根目录

    根据你的需求选择操作:

    • 重置root密码
      passwd root  # 按提示输入新密码(两次)
    • 重置普通用户密码(假设用户名为 test):
      passwd test  # 按提示输入新密码(两次)
  5. 更新系统信息并重启
    完成密码修改后,执行以下命令退出并重启:

    touch /.autorelabel  # 可选:如果SELinux启用,此命令会重新标记文件权限(避免权限问题)
    exit
    reboot

方法二:使用救援模式(Rescue Mode)重置

适用场景:GRUB菜单无法修改、系统文件损坏,或需要更底层的修复。
核心原理:通过CentOS安装ISO文件进入救援模式,挂载系统根目录后重置密码。

详细步骤:

  1. 挂载CentOS 7 ISO文件
    在虚拟机管理界面(如VMware、VirtualBox)的“设置”中,将“CD/DVD”设备连接到CentOS 7的ISO安装文件(提前下载好对应版本的ISO)。

  2. 启动进入救援模式
    重启虚拟机,在GRUB菜单中选择 Install CentOS 7(或类似选项),按 Tab 键进入编辑模式,在末尾添加 rescue,然后按 Enter 启动。

  3. 进入救援环境
    等待系统加载后,选择语言、键盘布局,进入救援模式的主界面,选择 1(Continue),系统会自动尝试挂载根目录(如果失败,需手动指定)。

  4. 切换到系统根目录
    系统挂载完成后,会提示 Chroot into /mnt/sysimage,输入以下命令进入系统环境:

    chroot /mnt/sysimage
  5. 重置密码
    与方法一类似,使用 passwd 命令重置目标用户密码:

    passwd root  # 重置root密码
    # 或 passwd username  # 重置普通用户密码
  6. 退出并重启
    完成后执行:

    exit
    reboot

    开机时记得断开ISO文件(避免再次进入救援模式)。

方法三:通过虚拟机控制台重置(仅限特定平台)

适用场景:虚拟化平台(如VMware、VirtualBox)提供了“重置密码”功能,无需手动修改引导参数。
核心原理:利用虚拟机管理工具内置的密码重置功能,直接修改系统密码文件。

详细步骤(以VMware为例):

  1. 关闭虚拟机
    确保虚拟机处于关机状态。

  2. 打开虚拟机配置文件
    在VMware中选中虚拟机,右键选择“设置”→“选项”→“高级”→“常规”,勾选“启动时输入BIOS设置”或直接使用VMware的“重置密码”功能(部分版本支持)。

  3. 使用VMware密码重置工具

    • 如果VMware版本支持(如VMware Workstation Pro 15+),可以直接右键虚拟机→“管理”→“重置root密码”,按提示操作即可。
    • 若不支持,可通过VMware的“vix”工具或手动修改虚拟机磁盘文件(需专业操作,新手不建议)。

VirtualBox操作:

VirtualBox没有直接的重置密码功能,需通过方法一(GRUB)或方法二(救援模式)操作。

注意事项

  1. 提前备份重要数据
    修改密码前,建议备份虚拟机中的重要文件,避免操作失误导致数据丢失。

  2. SELinux权限问题
    如果系统启用了SELinux(CentOS 7默认启用),修改密码后建议执行 touch /.autorelabel(方法一),确保文件权限正确,否则可能无法登录。

  3. 用户名忘记怎么办?
    如果忘记用户名,可在单用户模式或救援模式下,通过以下命令查看系统用户列表:

    cat /etc/passwd | grep "/bin/bash"  # 查看可登录的用户(默认shell为/bin/bash)

    输出结果中,每行格式为 用户名:密码:UID:GID:描述:家目录:shell,找到自己的用户名后再修改密码。

  4. 避免再次遗忘
    建议使用密码管理工具(如KeePass、1Password)记录登录信息,或设置简单的密码(测试环境)并妥善保管。

忘记CentOS 7虚拟机的用户名或密码虽然麻烦,但通过以上3种方法(GRUB单用户模式、救援模式、虚拟机平台工具)都能轻松解决。GRUB单用户模式是最常用且高效的方法,适合大多数场景;如果系统文件损坏或GRUB无法修改,可尝试救援模式;虚拟机平台工具则适合需要快速操作的情况。

希望本文能帮你快速解决问题,重新获得虚拟机的访问权限!如果有疑问,欢迎留言交流~

文章版权声明:除非注明,否则均为XMSDN - MSDN原版系统镜像 | 纯净ISO系统下载原创文章,转载或复制请以超链接形式并注明出处。

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