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

cei*_*cat 27 password

我已经使用这台服务器几个月了。一开始我把我的ssh公钥发给了admin,他给我设置了账号,我只用ssh key登录,一开始肯定是没有密码的。

从那时起,我可能会也可能不会使用passwd. 现在,如果我使用,passwd我会看到这个。

$ passwd
Changing password for user myusername.
Changing password for myusername.
(current) UNIX password:
Run Code Online (Sandbox Code Playgroud)

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

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

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

jhe*_*ran 41

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

passwd --status username
Run Code Online (Sandbox Code Playgroud)

从人passwd

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

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


小智 4

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

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

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

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

postgres: :16462:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

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

dustin:$6$TQ8e8o92$T9KWfcEVeIpDytW/zSAZzM4512wd/DiiuaYwrYWheH3LYpOsISdRxrCLvPqJZZ66QqdetmaV0ALQohx8nQPFKK0:16425:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

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