。 我有一个奇怪的问题,我似乎无法使用通配符搜索"成员"或者"独特的会员"小组的归属。
请考虑以下事项:
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
但是,假设我想找到所有组,其成员名称以" user"开头。我试试这个:
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
但没有任何回报!
现在我尝试将索引添加到"成员"和"独特的成员" attibutes as:
member pres,eq,approx,sub
uniquemember pres,eq,approx,sub
...但是获得了返回的错误'其他信息:约为属性索引"成员"不允许',所以我留下了:
member pres,eq
uniquemember pres,eq
即使在更改之后,我仍然无法使用" member"进行通配符搜索。或"独特的成员" attibutes。有什么想法吗?
答案 0 :(得分:0)
这与UnboundID Directory Server的预期一致。尝试更新目录服务器软件 - 在OpenLDAP论坛上有一些类似的问题,通过修复DN规范化解决了这个问题。
此外,没有“通配符”搜索这样的东西。您引用的断言值导致所谓的“子串”搜索。为了提高性能,服务器应该索引子串(member
)的uniqueMember
和sub
属性值,假设传统OpenLDAP服务器支持为子字符串索引这些属性。