0

我有一个正在运行的 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 服务器上执行某些操作才能使其正常工作。

错误可能在哪里?

提前致谢

4

1 回答 1

1

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

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

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

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

于 2018-09-25T08:42:54.263 回答