使用 userPrincipleName 作为过滤器时,ldapsearch 没有 return 结果?

ldapsearch doesn't return results when using userPrincipleName as filter?

我有一个 运行 freeipa ldap 服务器用于用户管理。我需要使用 userPrincipleName 属性搜索用户。我可以使用 uid 过滤器进行搜索,如下所示:

ldapsearch -H "ldap://ldap.domain.net" -D "uid=badr,cn=users,cn=accounts,dc=domain,dc=net" -w "password" -b "uid=badr,cn=users,cn=accounts,dc=domain,dc=net" "uid=badr"

但是,当我将过滤器更改为 userPrincipleName 时,它 returns 什么都没有。

ldapsearch -H "ldap://ldap.domain.net" -D "uid=badr,cn=users,cn=accounts,dc=domain,dc=net" -w "password" -b "uid=badr,cn=users,cn=accounts,dc=domain,dc=net" "userPrincipleName=badr@domain.net"

我怀疑必须在 ldap 服务器上做一些事情才能使其正常工作。

哪里会出错?

提前致谢

FreeIPA 在其架构中没有属性类型 userPrincipleName

此外,在 MS AD 中定义的属性 userPrincipalName 拼写不同,但也不在 FreeIPA 的架构中。

相反,FreeIPA 用户条目包含在 MIT Kerberos 的 LDAP 架构中定义的属性 krbPrincipalName

如果客户端应用程序只能使用 userPrincipalName 进行搜索,则可以根据 OpenLDAP 的 LDAP backend with slapo-rwm 实现属性映射来设置 LDAP 代理。