重置丢失的 root 密码
外观
本指南将向您展示如何重置忘记的 root 密码。列出了几种方法来帮助您完成此操作。
警告 攻击者可以使用下面提到的一些方法来闯入您的系统。无论操作系统有多安全,或者密码有多好,只要有物理访问权限,就可以加载另一个操作系统并暴露您的数据,除非您使用 静态数据加密。
使用 sudo
如果您安装了 sudo 并为 wheel 组或您记得密码的用户配置了权限,则可以通过运行 sudo passwd root 来更改 root 密码。
使用调试 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内核参数 追加到您的引导加载程序的引导条目中。 - 您的 root 文件系统现在以只读方式挂载,因此请将其重新挂载为读/写:
mount -n -o remount,rw /。 - 使用 passwd 命令为 root 用户创建新密码。
- 键入
reboot -f重启,并且不要再次丢失您的密码!
注意 某些键盘可能无法被 init 系统正确加载,您将无法在 bash 提示符下键入任何内容。如果发生这种情况,您将不得不使用其他方法。
使用 LiveCD
使用 LiveCD 有几种方法可用:更改 root 并使用 passwd 命令,或者通过直接编辑密码文件来擦除密码字段条目。可以使用任何支持 Linux 的 LiveCD,尽管要更改 root,它必须与您安装的架构类型匹配。这里我们仅描述如何使用 chroot 重置密码,因为手动编辑密码文件风险更大。
更改 root
- 启动 LiveCD 并 挂载 主系统的 root 分区。
- 使用
passwd --root MOUNT_POINT USER_NAME命令设置新密码(不会提示您输入旧密码)。 - 卸载 root 分区。
- 重启,然后输入新密码。