我正在尝试使用包含大量数据的 389 ds 作为条目的子项。我尝试使用 ldapsearch 搜索这些条目,但一直出现以下错误:
结果:11 超出管理限制
当我使用服务器控制台应用程序浏览这些条目时,它提示我创建“浏览索引”。我照做了,现在我可以在服务器控制台应用程序中查看这些条目,但是我仍然无法执行 ldapsearch。
我尝试使用服务器控制台应用程序删除所有这些子项的父条目,但它给出了与搜索相同的错误:
超出管理限制。
我已在配置中将“nssizelimit”属性设置为 -1。我还在配置中将“nslookthroughlimit”设置为 -1,但仍然出现相同的错误。
我如何配置我的 389 ds(CentOS ds)服务器以停止这些错误?
答案1
据我了解,您无法获取所有条目。看来您已超出管理员限制。
如果您想从非 cn=Directory 管理员用户中进行搜索,您需要向用户添加一些属性,如下所示。
/usr/lib64/mozldap/ldapmodify -D "cn=directory manager" -w secret -p 389 -h server.example.com
dn: uid=test2,ou=People,dc=example,dc=com
changetype: modify
add: nssizelimit
nssizelimit: -1
-
add: nslookthroughlimit
nslookthroughlimit: -1
答案2
OpenLDAP 有两种配置模式:
添加到slapd.conf(静态模式):
sizelimit unlimited
添加'/path-to/cn=config/olcDatabase={-1}frontend.ldif'(动态模式):
olcSizeLimit: unlimited
可以通过 slapd.conf 的“limits”选项进行选择性限制。
如果这没有帮助,您不应该用“openldap”标记问题。
答案3
$ ldapmodify -D "cn=directory manager" -w secret -p 389 -h server.example.com
dn: uid=test2,ou=People,dc=example,dc=com
changetype: modify
add: nssizelimit
nssizelimit: -1
-
add: nslookthroughlimit
nslookthroughlimit: -1
如果非管理员用户执行 ldapsearch,此解决方案对我有用