影子文件密码字段中的NP和UP是什么意思

Ayr*_*yrx 7 solaris shadow

我在影子文件中发现了一些我不明白其含义的条目。

user:UP:::::::
user1:NP:::::::
Run Code Online (Sandbox Code Playgroud)

UP 和 NP 是什么意思?除了这 2 个之外,同一个影子文件还具有正常的散列条目和指示锁定帐户的LK

该机器是 Solaris 10 VM。

Gil*_*il' 10

NP在密码字段中/etc/shadow表示该帐户无法使用密码登录,但可以使用其他身份验证方法登录,例如su从 root 或 cron 作业。NP意味着密码认证总是会失败,但其他登录方式可能会成功。您可以使用 设置处于此状态的帐户passwd -N。这不同于*LK*(报告为LK通过passwd -s),禁用所有登录到帐户无论该认证方法的。

令人困惑的是,当passwd -s看到NPin 时/etc/shadow,它报告 NL,而NPpasswd -l报告中表明该帐户对所有风都是开放的:用户将在没有得到密码提示的情况下进行身份验证(这由 中的空密码字段指示/etc/shadow)。

UPpasswd -sSolaris 11(不是 Solaris 11 Express)输出中的记录代码。意思是“该账号尚未被管理员激活,无法使用”。如果我正确理解文档,其效果类似于NP; 目的是让系统管理员稍后运行passwd以设置密码(即这是管理员为未来用户创建帐户的过程的第一阶段,然后让用户在他们第一次来到现场时输入密码) . 文档没有说明在 中发现时是否passwd -s报告;虽然这是有道理的,但周围的混乱需要谨慎。UP/etc/shadowNP

通常,/etc/shadow(或其他密码数据库)的密码字段中的任何非空字符串都被视为散列密码,如果它与任何有效的散列密码格式不匹配,则会导致身份验证被拒绝。OpenSolaris上的普通密码身份验证就是这种情况,我不能说其他版本,但如果不是这种情况,我会感到有些惊讶。

请注意,如果同一用户有多个条目,我认为只考虑第一个条目。(至少在 Linux 下是这样,我没有理由相信 Solaris 在这方面会有所不同。)