首页 > 解决方案 > 不能使用过滤器 ldapsearch 条目(uid=*)

问题描述

我在 OpenLDAP 2.4.4 (CentOS7) 中遇到了一个奇怪的 ldapsearch

我们有一个应用程序使用属性“uid”来搜索条目,它总是可以的。但昨天我们发现应用程序无法使用“uid”搜索任何条目。(可能是对 OpenLDAP 的操作导致了这个问题)

为了调试,我在 OpenLdap 服务器上尝试了 ldapsearch 命令(如下),发现

ldapsearch -h "10.10.1.72" -p 389 -D "cn=admin,dc=aep-hirain,dc=com" -w "AEtm123*" -b "dc=aep-hirain,dc=com" "(uid =*)"

  1. 没有使用过滤器的条目 (uid=*)
  2. 可以使用任何其他属性作为 cn= , sn=获取条目(并且可以在获取的条目中看到 uid 属性)
  3. 为包含 uid 属性的 Openldap 创建一个新条目,我可以通过 ldapsearch uiising filter(uid=*) 获取它
  4. 对于使用 uid= 无法通过 ldapsearch 检索的条目,我进行了一些修改,选择一个条目,删除它的 uid 属性,然后为其添加一个新的 uid 属性并指定一个值,然后我可以通过 ldapsearch uising 过滤器获取它(uid= )

而且我绝对确定属性“uid”不受访问限制。

在此问题发生之前可能的操作可能是:只需更改 hdb 访问规则

   olcAccess: {0}to attrs=userPassword
        by self write 
        by dn="cn=default,ou=pwpolicies,dc=aep-hirain,dc=com" write 
        by anonymous auth
        by * read
    olcAccess: {1}to * 
        by self write 
        by dn="cn=default,ou=pwpolicies,dc=aep-hirain,dc=com" write 
        by * read

to(取消匿名对 userPassword 属性的访问)

   olcAccess: {0}to attrs=userPassword
        by self write 
        by dn="cn=default,ou=pwpolicies,dc=aep-hirain,dc=com" write 
        by anonymous none
        by * read
    olcAccess: {1}to * 
        by self write 
        by dn="cn=default,ou=pwpolicies,dc=aep-hirain,dc=com" write 
        by * read
        

我不知道发生了什么并搜索互联网并没有得到任何有用的信息

标签: openldapldap-query

解决方案


推荐阅读