Centos7
OpenLDAP:嘗試載入 ppolicy 模組
我在 CentOS 7.8 上有一個 OpenLDAP 伺服器,並且正在嘗試載入 ppolicy 覆蓋。我正在嘗試使用以下命令載入模組:
ldapmodify -Y EXTERNAL -H ldapi:/// -f ppolicy_load.ldif
我得到這個錯誤:
add olcModuleLoad: ppolicy modifying entry "cn=module{0},cn=config" ldap_modify: Type or value exists (20) additional info: modify/add: olcModuleLoad: value #0 already exists
ppolicy.ldif 的內容:
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: ppolicy
cn = 模組 {0},cn = config.ldif 內容:
dn: cn=module{0} objectClass: olcModuleList cn: module{0} olcModulePath: /usr/lib64/openldap olcModuleLoad: {0}back_bdb olcModuleLoad: {1}syncprov
附加資訊:
cn=module{0},cn=config 的 ldapsearch 產生以下結果:
# module{0}, config dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/lib64/openldap olcModuleLoad: {0}back_bdb olcModuleLoad: {1}syncprov olcModuleLoad: {2}ppolicy
ppolicy 模式已載入。我也不幸應用了 ppolicy 覆蓋
dn: olcOverlay=ppolicy,olcDatabase={2}hdb,cn=config objectClass: olcOverlayConfig objectClass: olcPPolicyConfig olcOverLay: ppolicy olcPPolicyDefault: cn=default,ou=policies,dc=mydomain,dc=com
現在, slapcat -n 0 產生以下錯誤:
5ede54b5 UNKNOWN attributeDescription "OLCPPOLICYDEFAULT" inserted. 5ede54b5 config error processing olcOverlay={1}ppolicy,olcDatabase={2}hdb,cn=config: slapcat: bad configuration file!
我認為這是由於模組沒有正確載入,現在有點問題。
任何人都可以提供有關如何使其工作的指導嗎?我在從我的主 ldap 伺服器派生的測試伺服器上配置了這個,沒有問題。
謝謝。
這個問題的解決方案是導入我之前在開始 ppolicy 工作之前所做的配置數據庫備份:
- 關閉 slapd
- 移動 /etc/openldap/slapd.d 到新家
- slapadd -n 0 -F /etc/openldap/slapd.d -l config.ldif
- chown -R ldap:ldap /etc/openldap/slapd.d
- 重啟slapd
這裡的問題似乎是該條目:
cn=module{0},cn=config
沒有所有其他條目都具有的創建元數據。在我開始應用 ppolicy 之前,這是配置數據庫的 slapcat 中的相關部分
dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/lib64/openldap olcModuleLoad: {0}back_bdb olcModuleLoad: {1}syncprov
這是我在恢復後立即拍攝的 slapcat 轉儲中的相同部分
dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/lib64/openldap olcModuleLoad: {0}back_bdb olcModuleLoad: {1}syncprov structuralObjectClass: olcModuleList entryUUID: 1c4f8c4c-3eb1-103a-867c-85064373bd37 creatorsName: cn=config createTimestamp: 20200609152452Z entryCSN: 20200609153126.629105Z#000000#000#000000 modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth modifyTimestamp: 20200609153126Z
所以在恢復配置數據庫後,我能夠繼續配置 ppolicy 沒有問題。自然地,我在我的 LDAP 伺服器 (yay ESX) 的複製上對此進行了測試。
我想我可能不在基地,但由於所有問題似乎都集中在 cn=module{0},cn=config 並且現在已修復……我會繼續這樣做。