有几次我的电脑会“忘记”我的 root 密码。这会影响我使用sudo
登录管理器的能力(即锁定计算机并尝试密码也失败)。
请记住,我 100% 确信我没有打错字;我已经将其输入以确保正确输入,并复制粘贴它,甚至通过在我知道使用相同密码的另一台设备上使用它来验证我是否正确记住了密码。
我可以通过重置计算机来“轻松”修复它(尽管这显然很烦人)。这种事在过去的一年里只发生过两三次,但仍然是一件非常奇怪的事情。
知道为什么计算机“忘记”root 密码吗?
我唯一能想到的是内存中的一点翻转,但这是假设根密码存储在内存中(不确定这是否正确)并且位翻转本身会发生(这从什么情况来看是极其罕见的)我可以告诉)。
如果分发有任何影响的话,我正在运行 Manjaro-i3。
答案1
如果您的系统“忘记”root
密码,则意味着 .txtroot
中的密码已被某些内容覆盖/etc/shadow
。任何软件(用户管理应用程序除外)很少接触/etc/shadow
.我从来没有见过它。相反,我认为值得澄清一下您何时可能需要输入 root 或用户密码。以下是可能有帮助的简短解释:
对于基本安装,您通常会有两个非系统用户:root
和您自己james
。每个非系统用户都有自己的密码。
- 如果您曾经切换用户(即
su root
或su james
),您需要输入要切换到的用户的密码。 - 如果使用
sudo
,则需要输入当前用户的密码。/etc/sudoers
定义了有关您可以假装的规则,但其他用户(包括root
)不需要与您共享他们的密码。 - 如果您使用 pollkit/
pkexec
(通常由 GUI 应用程序使用),将出现一个 GUI 对话框并告诉您需要以哪个用户身份进行身份验证。如果它显示类似:“输入管理员密码”,则它要求您输入密码root
,而不是您的用户密码。为了让它询问您的用户密码,需要有一些 pollkit 规则来定义您的用户可以执行的操作(类似于sudo
s/etc/sudoers
)。
如果您确定/etc/shadow
实际上在未经您授权的情况下进行了更改,则这可能是已经拥有权限的恶意软件的标志root
。