我有一个正在运行的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服务器上执行某些操作才能使其正常工作。
这里的错误在哪里?
预先感谢
答案 0 :(得分:1)
FreeIPA在其架构中没有属性类型 userPrincipleName 。
此外,在MS AD中定义的属性 userPrincipalName 的拼写有所不同,但在FreeIPA的架构中也没有。
相反,FreeIPA用户条目包含在LDAP架构中为MIT Kerberos定义的属性 krbPrincipalName 。
如果客户端应用程序仅能够使用 userPrincipalName 进行搜索,则可以基于OpenLDAP的LDAP backend和slapo-rwm来实现属性映射来设置LDAP代理。