Openldap
如何在 OpenLDAP 中設置 size.pr?
我認為我的一個 LDAP 客戶端在 OpenLDAP 中達到了分頁限制。客戶端看到的具體錯誤是以下 Java 事物:
REASON: Caught exception running LDAP sync. [LDAP: error code 2 - paged results cookie is invalid]; nested exception is javax.naming.CommunicationException: [LDAP: error code 2 - paged results cookie is invalid]; remaining name 'dc=example,dc=com'
Google搜尋該錯誤引發了對 LDAP 分頁和相關限制的討論。這份關於OpenLDAP 的文件限制提及
olcSizeLimit
和size.pr
.我能夠使用這個 ldif 將我的 olcSizeLimit 從 500 更改為 -1:
dn: cn=config changetype: modify replace: olcSizeLimit olcSizeLimit: -1
不幸的是,我的客戶仍然看到它的分頁問題。
size.pr
是一個 slapd.conf 設置,而我的 OpenLDAP 使用 slapd.d 代替。在 LDAP 模式中搜尋後,我發現olcDbClientPr
它被描述為'PagedResults handling'
. 此外,以下是OpenLDAP 原始碼中的描述方式:{ "client-pr", "accept-unsolicited|disable|<size>", 2, 2, 0, ARG_MAGIC|LDAP_BACK_CFG_CLIENT_PR, meta_back_cf_gen, "( OLcfgDbAt:3.111 " "NAME 'olcDbClientPr' " "DESC 'PagedResults handling' " "SYNTAX OMsDirectoryString " "SINGLE-VALUE )", NULL, NULL },
假設 olcDbClientPr 與 size.pr 相同,我該如何設置呢?
我試過這個:
dn: cn=config changetype: modify replace: olcDbClientPr olcDbClientPr: -1
它拋出這個錯誤:
modifying entry "cn=config" ldap_modify: Object class violation (65) additional info: attribute 'olcDbClientPr' not allowed
如果它是相關的,這裡是我的
cn=config
目錄的內容:# ls /etc/openldap/slapd.d/cn=config/ cn=module{0}.ldif olcDatabase={0}config.ldif olcDatabase={1}hdb.ldif cn=schema olcDatabase={-1}frontend.ldif olcDatabase={1}monitor.ldif cn=schema.ldif olcDatabase={1}hdb
size.pr
是每個數據庫(和 dn/group 範圍)的一個olcLimits
選項。您可能還對全域olcSizeLimit
選項感興趣。來自
slapd-config(5)
:olcSizeLimit: 大小$$ .{soft|hard|unchecked} $$=$$ … $$
指定從搜尋操作返回的最大條目數。預設大小限制為 500。使用無限制指定無限制。第二種格式允許對尺寸限制進行細粒度設置。額外的參數可以添加到相同的值或附加值中。有關不同標誌的說明,請參見 olcLimits。
olcDbClientPr
不一樣。_size.pr