如何知道是否设置了密码?


19

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

从那时起,我可能会或可能不会使用设置密码passwd。现在,如果我使用,passwd我会看到这一点。

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

尽管似乎暗示我确实有密码,但我对做此事没有记忆。

我该如何确定是否设置了密码?

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


尝试不使用密码(当然也不要使用ssh私钥)登录。
didierc

我无法登录,因为我不知道密码,并且空白不起作用。我在原始问题中添加了此信息。
天猫

1
在登录控制台上,空白密码与没有密码相同。
didierc

即使没有为该帐户配置密码,您也会收到此密码提示。如果未配置passwd密码,无论您输入什么密码,都会抱怨输入密码错误。
吉尔斯(Gilles)'所以

我已经验证了在使用本地影子密码的香草Fedora 20上,passwd如果您没有该密码,则不会要求您输入当前密码。检查的另一种方法是输入su myusername; 如果没有密码,则不会要求输入密码。但是,系统管理员可以覆盖所有这些,例如,通过nullok从中的pam_unix条目中删除该选项/etc/pam.d/*,在这种情况下,非管理员无法分辨谁拥有密码,谁不能知道密码,除非进行计时测试。
Mark Plotnick

Answers:


31

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

passwd --status username

从人passwd

显示帐户状态信息。状态信息包含7个字段。第一个字段是用户的登录名。第二个字段指示用户帐户是否具有锁定密码(L),没有密码(NP)或具有可用密码(P)。第三个字段给出上次密码更改的日期。接下来的四个字段是密码的最小期限,最大期限,警告期限和不活动期限。这些年龄以天为单位。

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


我知道了$ passwd --status Only root can do that.
吊顶猫

在这种情况下,请尝试sudo passwd username --status
jherran

我知道了,$ sudo passwd myusername --status [sudo] password for myusername:但是由于我不知道密码,所以我无法继续。
天猫

我测试了我原来的命令,应罚款与新创建的用户工作,没有特殊烫发:$ passwd --status test回报test P 02/15/2015 0 99999 7 -1
jherran

奇怪的。我想知道管理员是否以非标准方式设置了它。
天猫

4

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

  1. 更改密码后,立即以root用户身份进入root login/ password提示符。

  2. 根据系统的几率,您使用的是影子密码。该文件是在/etc/shawdow你可以看看在这个文件,看看您的帐户有任何更改。

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

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

对于具有密码的用户,这可能是这样:

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

请注意,在之间: :是加密密码,对于postgres帐户,它没有任何密码


对于#1,我无法更改密码,因为我不知道密码是什么。如果我空白,它说passwd: Authentication token manipulation error。对于#2,我没有/etc/shawdow。有一个/etc/shadow,但是许可为000。(不确定是否重要)我忘了提到我有Fedora版本20(Heisenbug)。可能应该将这些信息放在原始问题中。
天猫

您的令牌错误通常来自错误的权限。您是否在单用户模式下?启动时是正常启动吗?同样要检查类型只是“ mount”,您要确保将所有东西都安装为rw(读写)
Dustin Hargrove

同样,这是错误的许可,这是什么发行版?
达斯汀·哈格罗夫

我不认为服务器处于单用户模式。我仍然可以使用ssh凭据登录,并且可以看到其他用户who。中列出的所有内容mount均列为rw。Distro是Fedora第20版(Heisenbug)。
天猫

1

尝试使用以下内容:

passwd -S

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

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


0

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


谢谢!有一个x。我想我有密码。虽然没有/etc/shadow文件。
天猫

1
@ceilingcat如果看到x,则不会告诉您是否设置了密码。您需要查看/etc/shadow(这需要成为root用户)。
吉尔(Gilles)'所以
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.