如果在 Linux 系统中忘记了密码,可以通过以下几种方法来重置密码,以下以常见的 Ubuntu 和 CentOS 系统为例:
一、Ubuntu 系统
- 单用户模式(适用于 GRUB 引导的系统)
- 步骤一:重启系统
- 首先重启计算机,在开机过程中,当看到 GRUB 引导菜单(通常是一个黑色背景,有多个操作系统选项的界面)时,按住 Shift 键(如果是 UEFI 系统,可能需要快速多次按 Esc 键),直到 GRUB 菜单出现。
- 步骤二:进入单用户模式
- 在 GRUB 菜单中,选择带有 “Advanced options for Ubuntu”(Ubuntu 高级选项)的条目,然后按 Enter 键。在新出现的菜单中,选择 “recovery mode”(恢复模式),再次按 Enter 键。
- 系统会加载一些恢复模式的选项,选择 “root Drop to root shell prompt”(以 root 权限进入命令行提示符)。此时系统会以单用户模式启动,并且你将获得一个 root 权限的命令行提示符。
- 步骤三:重置密码
- 在命令行提示符下,输入
passwd <用户名>
,其中<用户名>
是你要重置密码的账户名。例如,如果你要重置用户名为 “user1” 的密码,就输入passwd user1
。 - 系统会要求你输入新密码两次。输入完成后,密码就重置成功了。
- 步骤四:重启系统并登录
- 输入
reboot
命令重启系统,然后使用新设置的密码登录。
- 使用 Live CD/USB(适用于忘记 root 密码的情况)
- 步骤一:创建并使用 Live CD/USB
- 首先需要制作一个 Ubuntu 的 Live CD 或 USB。你可以从 Ubuntu 官方网站下载 ISO 镜像文件,然后使用工具(如 Rufus)将其制作成可启动的 U 盘。
- 将制作好的 Live CD/USB 插入计算机,重启并从 Live CD/USB 启动(通常需要在开机时按特定的键,如 F12、F2 等来选择启动设备)。
- 步骤二:挂载硬盘分区
- 启动到 Live CD/USB 环境后,打开终端。使用
fdisk -l
命令来查看硬盘分区信息,找到 Linux 系统安装的根分区(通常是一个 ext4 格式的分区,标记为 “Linux” 或类似字样)。假设根分区是/dev/sda1
,则使用命令mount /dev/sda1 /mnt
将其挂载到/mnt
目录下。
- 步骤三:修改密码文件
- 挂载完成后,使用
chroot /mnt
命令将根目录切换到挂载的硬盘分区。这样就可以访问硬盘上安装的系统文件了。 - 然后通过
passwd <用户名>
命令来重置密码,方法与单用户模式下相同。
- 步骤四:清理并重启
- 重置密码后,使用
exit
命令退出chroot
环境,然后使用umount /mnt
命令卸载挂载的分区。最后,移除 Live CD/USB,重启计算机,就可以使用新密码登录了。
二、CentOS 系统
- 单用户模式(适用于 GRUB 引导的系统)
- 步骤一:重启系统并进入 GRUB 菜单
- 重启计算机,在开机看到 GRUB 引导菜单时,按任意键(有些系统可能需要按特定的键,如 “e”)暂停引导过程。
- 步骤二:编辑 GRUB 引导选项
- 在 GRUB 引导选项中,找到以 “kernel” 开头的行,在该行的末尾添加 “single” 或 “init =/bin/sh”(这两个选项的作用类似,都是进入单用户模式)。然后按 Ctrl + X 或 F10 启动系统进入单用户模式。
- 步骤三:重置密码
- 进入单用户模式后,系统会直接进入一个命令行提示符。此时,使用
passwd <用户名>
命令来重置密码,方法与 Ubuntu 系统相同。
- 步骤四:重启系统并登录
- 输入
exec /sbin/init
或reboot
命令重启系统,然后使用新设置的密码登录。
- 使用救援模式(适用于忘记 root 密码的情况)
- 步骤一:使用安装介质进入救援模式
- 首先需要 CentOS 的安装光盘或 USB。将其插入计算机,重启并从安装介质启动。在安装菜单中,选择 “Rescue installed system”(救援已安装的系统)选项。
- 步骤二:挂载文件系统
- 按照系统提示进行操作,选择语言等选项后,系统会尝试挂载硬盘上的文件系统。如果挂载成功,会进入一个命令行提示符。
- 步骤三:修改密码文件
- 类似于 Ubuntu 系统使用 Live CD/USB 的方法,通过
chroot
命令切换到硬盘上安装的系统文件环境,然后使用passwd <用户名>
命令重置密码。
- 步骤四:清理并重启
- 重置密码后,退出
chroot
环境,卸载挂载的分区,移除安装介质,重启计算机,就可以使用新密码登录了。