openldap 可以忽略 ldapsearch 中的 -z(大小限制)参数吗

openldap 可以忽略 ldapsearch 中的 -z(大小限制)参数吗

我在客户端应用程序针对我的 Ubuntu 22.04 openldap 服务器执行 ldap 搜索时遇到了问题。正如您在 wireshark 跟踪中看到的那样,客户端为搜索响应指定了 sizelimit=1,但它是对象的通配符查询。可以预见的是,任何超过一个用户帐户都会导致搜索失败,并出现 sizelimit 超出错误。

当不使用搜索大小限制(ldapsearch -z 1 ...)时,相同的搜索可以正常工作。

    LDAPMessage searchRequest(31) "ou=users,dc=xxxxxxxxxx,dc=com" singleLevel
        messageID: 31
        protocolOp: searchRequest (3)
            searchRequest
                baseObject: ou=users,dc=xxxxxxxxxx,dc=com
                scope: singleLevel (1)
                derefAliases: neverDerefAliases (0)
==>         sizeLimit: 1
                timeLimit: 0
                typesOnly: False
                Filter: (&(objectClass=posixAccount)(homeDirectory=*))
                    filter: and (0)
                        and: (&(objectClass=posixAccount)(homeDirectory=*))
                            and: 2 items
                                Filter: (objectClass=posixAccount)
                                    and item: equalityMatch (3)
                                        equalityMatch
                                            attributeDesc: objectClass
                                            assertionValue: posixAccount
                                Filter: (homeDirectory=*)
                                    and item: present (7)
                                        present: homeDirectory
                attributes: 1 item
                    AttributeDescription: homeDirectory

问题:我知道我可以在 openldap 中指定服务器端大小搜索限制,但是有没有办法明确忽略搜索请求中的客户端大小限制(如果指定)并返回所有结果?我无法控制客户端应用程序以删除搜索请求的大小限制。

相关内容