目录

重置 Linux Root 密码

/images/reset-linux-passwd.jpg

系统管理员可以轻松地为忘记密码的用户重置密码。但是如果系统管理员忘记了 root 密码会发生什么?本指南将向您展示如何在 Red Hat 兼容系统上重置丢失或忘记的 root 密码。


概述

请注意,如果整个系统硬盘已使用 LUKS 加密,您需要在提示时提供 LUKS 密码。此外,此过程适用于运行 systemd 的系统,systemd 是自 Fedora 15、CentOS 7 和 RHEL 7 以来的默认 init 系统。

中断启动过程

首先,您需要中断启动过程。按键盘上的 eTab 键,使用箭头键移动到 linux16 行:

../images/grub2.png

使用 Delete 键或退格键,删除 rhgb quiet 并替换为以下内容:

rd.break enforcing=0

../images/grub3.png

设置 enforcing=0 将允许您避免执行完整的系统 SELinux 重新标记。系统重新启动后,您只需为 /etc/shadow 文件恢复正确的 SELinux 上下文。我也将向您展示如何执行此操作。

Ctrl-x 开始。

通过 chroot 访问系统

系统现在将处于紧急模式。以读写访问权限重新挂载硬盘:

# 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

参考