我在影子文件中发现了一些我不明白其含义的条目。
user:UP:::::::
user1:NP:::::::
UP 和 NP 是什么意思?除了这 2 个之外,同一个影子文件还具有正常的散列条目和力康这表明帐户被锁定。
该计算机是 Solaris 10 VM。
答案1
NP
的密码字段/etc/shadow
表示该帐户无法使用密码登录,但可以使用其他身份验证方法登录,例如su
从 root 或 cron 作业登录。NP
意味着密码验证总是会失败,但其他登录方式可能会成功。您可以在此状态下设置帐户passwd -N
。这与*LK*
(LK
由报道passwd -s
)不同,后者会禁用该帐户的所有登录,无论身份验证方法如何。
令人困惑的是,当passwd -s
看到NP
在/etc/shadow
, 它报告 NL
,而NP
在passwd -l
报告中表明该帐户对所有风向开放:用户甚至无需收到密码提示即可进行身份验证(这由 中的空密码字段表示/etc/shadow
)。
UP
是记录在案的代码passwd -s
Solaris 11 上的输出(不是 Solaris 11 Express 上的输出)。意思是“该账户尚未被管理员激活,无法使用”。如果我正确理解文档,它的效果类似于NP
;目的是系统管理员passwd
稍后将运行以设置密码(即,这是管理员为未来用户创建帐户的过程的第一阶段,然后让用户在第一次到达现场时输入密码) 。该文档没有表明当它发现时是否passwd -s
报告UP
/etc/shadow
;虽然这是有道理的,但周围的混乱NP
引起了人们的谨慎。
通常,密码字段中的任何内容/etc/shadow
(或其他密码数据库)中非空字符串的任何内容都将被视为哈希密码,如果它与任何有效的哈希密码格式不匹配,则会导致身份验证被拒绝。情况就是这样普通密码认证关于 OpenSolaris,我无法代表其他版本发言,但如果不是这种情况,我会感到有些惊讶。
请注意,如果同一用户有多个条目,我认为只考虑第一个条目。 (至少 Linux 下是这样,我没有理由相信 Solaris 在这方面会有所不同。)
答案2
来自 Oracle Solaris 文档。
LK This account is locked account. See Security.
NL This account is a no login account. See Security.
NP This account has no password and is therefore open without authentication.
PS This account has a password.
UN The data in the password field is unknown. It is not a recognizable hashed password or any of the above entries. See crypt(3C) for valid password hashes.
UP This account has not yet been activated by the administrator and cannot be used. See Security.
答案3
有趣的问题,谷歌说,
这NP文件中的/etc/shadow
代表无密码。它具有不允许某人登录的效果,但 su/sudo 始终有效。不确定这与力康
答案4
NP 与 LK 的不同之处在于:
- NP 允许使用其他身份验证形式(例如 ssh 密钥)
NP 允许 cron 作业运行(帐户未禁用)
LK 阻止其他形式的身份验证(但 root 下的 su 可以工作,因为它绕过了身份验证)
- LK 阻止 cron 作业运行