stackexchange 链接显示“无法使用密码登录该帐户”,但baeldung 链接显示“任何人都可以在没有任何密码的情况下登录该帐户”。
两个都 ”!” 和 ”!!” 出现在密码字段中意味着无法使用密码登录该帐户。
从 RHEL-4 的文档中可以看出,“!!” 影子密码字段中的内容表示用户帐户已创建,但尚未指定密码。该文档指出(可能是错误的),在系统管理员提供初始密码之前,它默认处于锁定状态。
!! 在 /etc/shadow 的密码字段中
我们在 /etc/shadow 文件的密码字段中可能遇到的另一个符号是两个感叹号。!! 表示某人已创建用户帐户但未为其指定密码。因此,任何人都可以在没有任何密码的情况下登录该帐户,这是一个严重的风险。
哪个对于Ubuntu系统是正确的?
这记录在
man 5 shadow
(强调我的):因此,第一个
!
表示密码已锁定,之后的所有内容!
都是密码。接下来,如果密码是,!
则表示您无法使用密码登录,而否,则并不意味着您可以在没有密码的情况下登录。“其他方式”是指使用 root 等方式su
切换到该用户。无论如何,root 都不会被提示输入密码,因此这是“其他方式”登录的一个示例。我们甚至可以很容易地测试它:
在这里,我只是运行命令
sudo adduser someuser
并按 Enter 键跳过所有提示并将密码保留为空。结果是:所以我们有一个没有密码的用户。如果我尝试以该用户身份登录,我将无法:
因此,密码设置为
!
(或!!
,因为这仅意味着锁定!
)不允许用户在没有密码的情况下登录。但是,它确实让 root 切换到该用户: