在Linux系统的使用过程中,忘记密码是一个常见的麻烦事。
幸运的是,借助单用户模式,我们可以轻松解决这个问题。
本文将详细介绍如何通过单用户模式修改Linux密码,让你快速上手。
一、理解单用户模式
单用户模式是Linux系统的特殊运行状态,仅加载最基本的系统服务和驱动,以最小化系统资源占用,并且默认以root权限登录。
这为我们在忘记密码时修改密码提供了极大的便利,因为在该模式下可以绕过常规的用户认证机制。
二、基于GRUB引导进入单用户模式
(一)重启系统并进入GRUB编辑界面
当你需要进入单用户模式修改密码时,首先要重启系统。
在系统启动过程中,当出现GRUB引导菜单时,迅速按下键盘上的 e 键。
这一步的目的是进入GRUB启动项的编辑模式,以便我们对启动参数进行修改。
(二)修改启动参数
在GRUB编辑界面中,你会看到一系列的启动参数。
找到以 linux 或 linux16 开头的行(不同的Linux发行版可能会有所不同),在这一行的末尾添加 init=/bin/bash 。添加后的完整命令行可能类似这样:
linux /boot/vmlinuz-5.15.0-70-generic root=/dev/sda2 ro quiet splash init=/bin/bash
这个 init=/bin/bash 参数非常关键,它告诉系统在启动时不执行正常的初始化流程,而是直接启动一个bash shell,从而让我们进入单用户模式。
(三)启动进入单用户模式
完成启动参数的修改后,按下 Ctrl + X 组合键,系统将按照修改后的参数启动。
此时,系统会直接进入单用户模式,你会看到一个命令行提示符,通常类似于 (initramfs) 。
三、基于systemd进入单用户模式
(一)重启并修改启动参数
同样先重启系统,在GRUB引导菜单出现时,选中要进入单用户模式的内核启动项,按下 e 键进入编辑模式。
在 linux 或 linux16 行的末尾添加 systemd.unit=emergency.target ,添加后的命令行示例如下:
linux /boot/vmlinuz-5.15.0-70-generic root=/dev/sda2 ro quiet splash systemd.unit=emergency.target
(二)进入紧急救援模式并切换到单用户模式
按下 Ctrl + X 组合键后,系统会进入紧急救援模式。
在紧急救援模式的命令行中,我们需要先将根文件系统重新挂载为可读写模式,执行命令:
mount -o remount,rw /
接着,执行以下命令切换到单用户模式:
systemctl isolate single-user.target
四、在单用户模式下修改密码
当成功进入单用户模式后,就可以开始修改密码了。
假设我们要修改的用户名为 testuser ,执行以下命令:
passwd testuser
执行该命令后,系统会提示你输入新密码,按照系统要求输入新密码并确认。
新密码要满足一定的强度要求,例如包含字母(大小写)、数字和特殊字符等。
五、退出单用户模式并重启系统
完成密码修改后,需要退出单用户模式并重启系统,使新密码生效。执行以下命令退出单用户模式:
exec /sbin/init
如果上述命令执行失败,也可以直接使用 reboot 命令重启系统:
reboot
六、总结
通过单用户模式修改Linux密码,虽然操作过程涉及一些系统底层知识,但只要按照上述步骤,准确执行每一条命令,就能顺利解决忘记密码的问题。
在操作过程中,一定要谨慎小心,避免误操作对系统造成不必要的影响。掌握这一技能,将为你的Linux系统管理工作提供极大的便利。