0

. 我有一个奇怪的问题,我似乎无法使用通配符搜索组的“成员”或“唯一成员”属性。

考虑以下:

cn=myusers,ou=groups,dc=example,dc=com
objectClass=groupOfNames
objectClass=top

这返回正常:

ldapsearch -h ldap-server -p 389 -D "cn=admin,dc=example,dc=com" -w Password -s sub -b "ou=groups,dc=example,dc=com" "(objectclass=groupOfNames)" member

cn=myusers,ou=groups,dc=example,dc=com
member=cn=user1234,ou=groups,dc=example,dc=com

如果我使用它,它也可以正常工作:

ldapsearch -h ldap-server -p 389 -D "cn=admin,dc=example,dc=com" -w Password -s sub -b "ou=groups,dc=example,dc=com" "(&(member=cn=user1234,ou=groups,dc=example,dc=com)(objectclass=groupOfNames)" member

但是,假设我想找到所有组,成员名称以“用户”开头。我试试这个:

ldapsearch -h ldap-server -p 389 -D "cn=admin,dc=example,dc=com" -w Password -s sub -b "ou=groups,dc=example,dc=com" "(&(member=cn=user*)(objectclass=groupOfNames))" member

但没有任何回报!

现在我尝试将索引添加到“成员”和“唯一成员”属性为:

member pres,eq,approx,sub
uniquemember pres,eq,approx,sub

...但是得到一个返回的错误'附加信息:属性“成员”的近似索引被禁止',所以我留下了:

member pres,eq
uniquemember pres,eq

即使在更改之后,我仍然无法使用“member”或“uniquemember”属性执行通配符搜索。有任何想法吗?

.

4

1 回答 1

-1

这可以与UnboundID Directory Server一起按预期工作。尝试更新目录服务器软件 - OpenLDAP 论坛上有一些类似的问题,通过修复 DN 规范化解决了这个问题。

此外,没有“通配符”搜索之类的东西。您引用的断言值会导致所谓的“子字符串”搜索。为了提高性能,服务器应该索引子字符串 ( ) 的memberuniqueMember属性值sub,假设旧版 OpenLDAP 服务器支持为子字符串索引这些属性。

于 2012-11-14T19:13:14.247 回答