单用户模式:在 RHEL/CentOS 7 中重置/恢复遗忘的 root 用户帐户密码

你是否曾经遇到过在 Linux 系统上忘记了用户账户密码的情况?而如果你忘记了 root 密码,情况可能会更糟。你无法执行任何系统范围的更改。如果你忘记了用户密码,你可以轻松使用 root 账户重置它。

如果你忘记了 root 密码怎么办?你无法使用用户账户重置 root 账户密码。因为一般情况下用户账户不被允许执行这样的任务。

Resetting/Recovering Forgotten Root User Account Password

好吧,这里是指南,它将帮助你摆脱任何这样的情况,如果你曾经陷入其中。在这篇文章中,我们将带你重置你的 RHEL 7CentOS 7 root 密码。

今天早上我打开我的 RHEL 7 Linux 服务器,发现它被锁定了。要么是我昨晚更改密码时弄错了,要么我真的忘记了。

Forgotten root Password

那我现在该怎么办?我应该使用我的用户账户登录,尝试更改 root 密码吗?

Only Root User Can Set Password

糟糕,我收到了“只有 root 可以指定用户名”的提示,我失去了对 root 账户的控制。所以我打算进入单用户模式。要做到这一点,当你看到下面的屏幕时立即重新启动服务器,然后按下键盘上的 'e'(代表编辑)。

Press ‘e’ to Edit Boot Menu

按下键盘上的 'e' 之后,你会看到很多文本,根据你屏幕的大小可能会被截断。

Grub Configuration

搜索文本 “rhgb quiet”,将其替换为 “init=/bin/bash”(不包括引号)。

Enable Shell

编辑完成后按'ctrl+x',它将使用指定的参数启动。然后您将获得bash提示符。

Booting System

现在在单用户模式下运行以下命令检查根分区的状态。

# mount | grep root
Check Root Mount Status

您可能会注意到根分区报告为'ro'(只读)。我们需要在根分区上拥有读写权限以更改根密码。

# mount -o remount,rw /

还要交叉检查,根分区是否以读写权限模式挂载。

# mount | grep root
Set Permissions on Root Partition

现在可以通过键入passwd命令更改根密码。但这还没有完成。我们需要重新标记SELinux上下文。如果我们跳过重新标记整个SELinux上下文,我们将能够使用密码登录。

# passwd root
[Enter New Password]
[Re-enter New Password]
# touch /.autorelabel
Reset root Password

重新启动并再次登录到root帐户,看一下是否一切正常?

# exec /sbin/init
Login root User

在上图中清楚地表明,我们已成功通过在单用户模式下重置根密码登录到RHEL 7盒子。

上述步骤清楚地展示了如何通过在单用户模式下重置根密码登录到RHEL 7CentOS 7机器。

现在就这些。我会很快再次带来另一篇有趣的文章。在那之前,请继续关注并保持与Tecmint的联系。别忘了在下面的评论中为我们提供宝贵的反馈。点赞并分享我们,帮助我们扩散。

Source:
https://www.tecmint.com/reset-forgotten-root-password-in-centos-7-rhel-7/