Openldap

列表中的 OpenLDAP 欄位值

  • January 15, 2021

我已經設置了一個 openLDAP 伺服器,並創建了一個包含各種欄位的自定義模式,它工作得非常好。但是,我有一些欄位,我只想有一些值。例如,我有一個名為的欄位deviceLocation,我只想擁有EASTWEST或的值CENTER。我怎樣才能做到這一點?

您需要將constraints覆蓋添加到您的配置中。它允許您添加值必須匹配才能被添加或更改操作接受的正則表達式。或者,它允許您創建一個包含所有允許位置的子樹,然後檢查您嘗試添加的值是否列在該子樹中。

http://www.openldap.org/doc/admin24/overlays.html#Constraints

供將來參考:正如@Sven 所指出的,我使用約束來解決問題。就我而言,我創建了一個 ldif 文件來啟動約束模組:

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: constraint.la

另一個配置它:

dn: olcOverlay=constraint,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcConstraintConfig
olcOverlay: constraint
olcConstraintAttribute: deviceLocation regex ^(EAST|WEST|CENTER)$

上傳文件ldapadd並像魅力一樣工作

引用自:https://serverfault.com/questions/835331