系统管理员可以轻松重置忘记密码的用户的密码。但是,如果系统管理员忘记了 root 密码或离开了公司会发生什么?本指南将向您展示如何在 5 分钟内重置 Red Hat 兼容系统(包括 Fedora 和 CentOS)上丢失或忘记的 root 密码。
请注意,如果整个系统硬盘已使用 LUKS 加密,则需要在提示时提供 LUKS 密码。此外,此过程适用于运行 systemd 的系统,systemd 自 Fedora 15、CentOS 7.14.04 和 Red Hat Enterprise Linux 7.0 以来一直是默认的 init 系统。
首先,您需要中断启动过程,因此您需要打开系统电源或重新启动系统(如果系统已开机)。第一步比较棘手,因为 GRUB 菜单往往在屏幕上闪烁得非常快。您可能需要尝试几次才能成功。
当您看到此屏幕时,请按键盘上的 e 键

如果操作正确,您应该会看到类似于此屏幕的画面

使用箭头键移动到 Linux16 行

使用 del 键或 退格键,删除 rhgb quiet
并替换为以下内容
rd.break enforcing=0

设置 enforcing=0
将使您能够避免执行完整的系统 SELinux 重新标记。系统重启后,您只需为 /etc/shadow
文件恢复正确的 SELinux 上下文。我也会向您展示如何操作。
按 Ctrl-x 启动。
系统现在将处于紧急模式。
以读写访问权限重新挂载硬盘驱动器
# mount –o remount,rw /sysroot
运行 chroot
以访问系统
# chroot /sysroot
现在您可以更改 root 密码
# passwd
在提示时输入两次新 root 密码。如果成功,您应该看到一条消息,内容为“all authentication tokens updated successfully”。
输入 exit 两次以重新启动系统。
以 root 用户身份登录,并将 SELinux 标签恢复到 /etc/shadow
文件。
# restorecon -v /etc/shadow
将 SELinux 恢复为强制模式
# setenforce 1
4 条评论