重置 root 密码
(重定向自 密码恢复)
本指南将向您展示如何重置遗忘的 root 密码。 列出了几种方法来帮助您完成此操作。
警告: 攻击者可能会使用下面提到的一些方法来入侵您的系统。 无论操作系统多么安全,密码多么强大,拥有物理访问权限都相当于加载备用操作系统并暴露您的数据,除非您使用静态数据加密。
使用 sudo
如果您已安装 sudo 并为 wheel
组或您记得密码的用户配置了权限,则可以通过运行 sudo passwd root
来更改 root 密码。
使用 debug shell
- 将
systemd.debug_shell
附加到内核参数。 - 这将执行正常启动,但启动
debug-shell.service
,它在tty9
上运行 root shell (/bin/sh
)。 按Ctrl+Alt+F9
访问它。 - 使用 passwd 命令为 root 用户创建新密码。
- 完成后,停止
debug-shell.service
。
使用 bash 作为 init
- 将
init=/bin/bash
内核参数 附加到您的引导加载程序的引导项。 - 您的根文件系统现在以只读方式挂载,因此将其重新挂载为读/写:
mount -n -o remount,rw /
。 - 使用 passwd 命令为 root 用户创建新密码。
- 输入
reboot -f
重启,不要再忘记您的密码!
注意: 某些键盘可能无法被使用此方法的 init 系统正确加载,您将无法在 bash 提示符下输入任何内容。 如果是这种情况,您将不得不使用另一种方法。
使用 LiveCD
使用LiveCD 有几种方法可用:更改 root 并使用 passwd
命令,或直接编辑密码文件来擦除密码字段条目。 可以使用任何支持 Linux 的 LiveCD,尽管要更改 root,它必须与您安装的架构类型匹配。 这里我们仅描述如何使用 chroot 重置密码,因为手动编辑密码文件风险要高得多。
Change root
- 启动 LiveCD 并挂载主系统的根分区。
- 使用
passwd --root MOUNT_POINT USER_NAME
命令设置新密码(不会提示您输入旧密码)。 - 卸载根分区。
- 重启,并输入您的新密码。