openldap 大小限制。不能接收超过 500 个条目

JMA*_*016 5 openldap ldap query

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

虽然我做了以下更改:

配置文件

    # 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
Run Code Online (Sandbox Code Playgroud)

配置文件

#
# 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
Run Code Online (Sandbox Code Playgroud)

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

ldapsearch -x -h localhost -b "dc=XXX,dc=XXX,dc=XXX"
Run Code Online (Sandbox Code Playgroud)

我收到:

# search result
search: 2
result: 4 Size limit exceeded

# numResponses: 501
# numEntries: 500
Run Code Online (Sandbox Code Playgroud)

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

Abd*_*DEB 11

OpenLDAP 搜索限制可以在服务器端或客户端设置。

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

全局按数据库:

配置文件

sizelimit <numberOfMaxResult>
Run Code Online (Sandbox Code Playgroud)

cn=配置

olcSizeLimit: <numberOfMaxResult>
Run Code Online (Sandbox Code Playgroud)

此参数不是强制性的,默认为500

每个用户:

配置文件

limits <Who> size=<numberOfMaxResult>
Run Code Online (Sandbox Code Playgroud)

cn=配置

olcLimits: <Who> size=<numberOfMaxResult>
Run Code Online (Sandbox Code Playgroud)

在所有情况下

可能是:

* : 全部

anonymous : 未连接用户

users : 所有连接的用户

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

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

numberOfMaxResult可能是:

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

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

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

2. 客户端

在 ldap.conf 客户端配置文件中:

SIZELIMIT <numberOfMaxResult>
Run Code Online (Sandbox Code Playgroud)

请求参数

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

所有客户端 API 都应提供此类参数。

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

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

man slapd.conf
man slapd-config
Run Code Online (Sandbox Code Playgroud)

OpenLDAP 管理员指南中的限制配置