如何判断我的密码是否已设置?

如何判断我的密码是否已设置?

我已经使用这台服务器几个月了。一开始,我向管理员发送了我的公共 ssh 密钥,他为我设置了帐户,而我只使用 ssh 密钥登录。我一开始肯定没有密码。

从那时起,我可能已经或可能没有使用 设置密码passwd。现在如果我使用,passwd我会看到这个。

$ passwd
Changing password for user myusername.
Changing password for myusername.
(current) UNIX password:

虽然它似乎表明我确实有密码,但我不记得曾经这样做过。

如何确定我的密码是否已设置?

编辑:
我无法登录也无法更改密码,因为我不知道密码是什么(空白密码不起作用)。该发行版是 Fedora release 20 (Heisenbug)。

答案1

最好的方法是使用以下命令:

passwd --status username

来自男人passwd

显示帐户状态信息。状态信息由7个字段组成。第一个字段是用户的登录名。第二个字段指示用户帐户是否具有锁定密码 (L)、没有密码 (NP) 或具有可用密码 (P)。第三个字段给出最后一次密码更改的日期。接下来的四个字段是密码的最短期限、最长期限、警告期限和不活动期限。这些年龄以天数表示。

因此,如果第二个输出字段为NP,则该用户没有设置密码。

答案2

您可以通过两种简单的方法进行测试。

  1. 更改密码后,以 root 身份输入login,您将看到登录/密码提示。

  2. 根据您的系统,您是否使用影子密码。该文件位于/etc/shawdow您可以查看该文件以查看您的帐户是否有任何更改。

这是一个没有设置密码的帐户的示例:

postgres: :16462:0:99999:7:::

对于具有密码的用户来说,它可能如下所示:

dustin:$6$TQ8e8o92$T9KWfcEVeIpDytW/zSAZzM4512wd/DiiuaYwrYWheH3LYpOsISdRxrCLvPqJZZ66QqdetmaV0ALQohx8nQPFKK0:16425:0:99999:7:::

请注意, 之间: :是加密密码,而对于 postgres 帐户来说,它没有任何内容

答案3

尝试使用以下方法:

passwd -S

从 passwd(1) 手册页中我们读到:

-S 报告指定帐户的密码状态。第一部分指示用户帐户是否被锁定 (LK)、是否没有密码 (NP)、或者是否具有现有或锁定的密码 (PS)。第二部分给出最后一次密码更改的日期。接下来的部分是密码的最短期限、最长期限、警告期和不活动期。

答案4

您可能想查看 /etc/passwd 文件。用户的第二个字段表示密码。如果没有任何内容,您可能没有登录密码。另一方面,如果您在此字段上有一个 x,则您有一个与之关联的密码,并且它可能位于 /etc/shadow 文件中

相关内容