我已经使用这台服务器几个月了。一开始我把我的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
您可以通过两种简单的方法进行测试。
更改密码后,以 root 身份输入login
,您将看到登录/密码提示。
根据您的系统,您是否使用影子密码。该文件位于/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 帐户来说,它没有任何内容