当我查询我的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 。