Linux/etc/shadow
文件中的第二个字段代表密码。然而,我们看到的是:
某些密码字段可能有一个感叹号
<account>:!:.....
某些密码字段可能有双感叹号
<account>:!!:.....
某些密码字段可能带有星号
<account>:*:.....
通过互联网上的一些研究并通过这个线程,我可以理解,这*
意味着密码从未建立,!
意味着锁定。
谁能解释一下双感叹号 ( !!
) 是什么意思?它与( )有何不同!
?
答案1
两个都 ”!”和 ”!!”出现在密码字段中意味着无法使用密码登录该帐户。
因为它可以是阅读 RHEL-4 的文档, 这 ”!!”影子密码字段中的内容表示用户帐户已创建,但尚未指定密码。该文档指出(可能是错误的),在系统管理员提供初始密码之前,它默认处于锁定状态。
然而,正如其他人所指出的,并且正如 RHEL-7 更高版本的手册页所示,用户仍然可能通过其他方式登录到帐户,例如通过使用公钥/私钥身份验证的 SSH。
答案2
还值得注意的<account>::.....
是,不需要密码(空密码)。
如果您正在创建 ssh仅钥匙user 您可以用来<account>::0:0:99999:7:::
要求用户在首次登录时设置密码(即用于 sudo 的密码)。
笔记:仅钥匙身份验证意味着密码是不是一个认证因素。