getent Shadow 显示某些用户的密码哈希值

getent Shadow 显示某些用户的密码哈希值

如果我执行

sudo getent shadow

我看到所有拥有密码哈希值的本地用户。对于大多数 LDAP 帐户,我只*在密码字段中看到。但是,对于一些 LDAP 用户,我看到密码哈希值。我已经验证他们没有本地帐户(即没有输入/etc/passwdgetent passwd username返回一行)。

事实上,以我自己的身份登录,我的用户条目是带有*.

有一个 LDAP 服务器运行 OpenLDAP,并具有一组帐户(树中的一个分支)。

LDAP 客户端服务器正在运行nscd并且libnss-ldap.

/etc/nsswitch.conf这是LDAP 客户端服务器上的一部分:

passwd:         files ldap
group:          files ldap
shadow:         files ldap

在这种情况下,LDAP 用于验证用户登录 LDAP 客户端服务器的身份,并且在某些时候,身份验证机制(在本例中为 PAM)必须根据存储的哈希值检查用户在登录时提供的密码哈希值。包含在 LDAP 数据库中。

每个用户的 LDAP 帐户存储其密码哈希值并具有objectClassposixAccountshadowAccount以及其他值和设置)。

只有系统帐户在/etc/password和中具有本地条目/etc/shadow。用户帐户全部位于 LDAP 上(并且仅存在于此)。 LDAP 中的所有用户都有用户密码条目。

可能是什么原因导致了这种情况,或者我该如何找出其原因?为什么不getent shadow返回所有 LDAP 用户的密码哈希值?

相关内容