使用userPrincipleName作为过滤器时,ldapsearch不返回结果吗?

时间:2018-09-25 08:17:50

标签: ldap ldap-query freeipa

我有一个正在运行的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时,它什么也不返回。

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服务器上执行某些操作才能使其正常工作。

这里的错误在哪里?

预先感谢

1 个答案:

答案 0 :(得分:1)

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

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

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

如果客户端应用程序仅能够使用 userPrincipalName 进行搜索,则可以基于OpenLDAP的LDAP backendslapo-rwm来实现属性映射来设置LDAP代理。