openldap sizelimit。 不能收到超过500个条目

当我查询我的openldap-server时,我无法收到超过500个条目。

虽然我做了以下更改:

slapd.conf中

# This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ####################################################################### # Global Directives: ..... # The maximum number of entries that is returned for a search operation sizelimit 10000 

ldap.conf

 # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 SIZELIMIT 10000 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt 

重新启动后,在我的机器上,并查询以下命令:

 ldapsearch -x -h localhost -b "dc=XXX,dc=XXX,dc=XXX" 

我收到:

 # search result search: 2 result: 4 Size limit exceeded # numResponses: 501 # numEntries: 500 

我错过了一些必要的改变吗?

OpenLDAPsearch限制可以在服务器端或客户端进行设置。

1. slapd.conf的数据库部分中的服务器端(不推荐使用旧式configuration,但可用钢)或cn = config(推荐)

全球通过数据库:

slapd.conf中

 sizelimit <numberOfMaxResult> 

CN =configuration

 olcSizeLimit: <numberOfMaxResult> 

该参数不是必需的,默认值是500

每个用户:

slapd.conf中

 limits <Who> size=<numberOfMaxResult> 

CN =configuration

 olcLimits: <Who> size=<numberOfMaxResult> 

在所有情况下

可能是:

* :全部

anonymous :没有连接的用户

users :所有连接的用户

dn.exact="cn=xxxx,ou=people... :一个用户

group/groupOfNames/member="cn=managers,ou=groups... :用户组

numberOfMaxResult可能是:

unlimited :无限大小,在生产中使用此configuration是一个非常糟糕的主意

number (like 300) :最大结果logging数。

如果全局和每个用户的限制大小都已完成,则将应用每个用户的限制

2.客户端

在ldap.conf客户端configuration文件中:

 SIZELIMIT <numberOfMaxResult> 

请求参数

ldapsearch -z 10 ...将结果限制为10

所有客户端API都应提供这样的参数。

如果服务器端和客户端的限制大小都完成, 则应用最小的数字

这是一个简短的摘要,有关此主题的更多信息:

 man slapd.conf man slapd-config 

限制OpenLDAPpipe理员指南中的configuration 。