Openldap
列表中的 OpenLDAP 欄位值
我已經設置了一個 openLDAP 伺服器,並創建了一個包含各種欄位的自定義模式,它工作得非常好。但是,我有一些欄位,我只想有一些值。例如,我有一個名為的欄位
deviceLocation
,我只想擁有EAST
、WEST
或的值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
並像魅力一樣工作