Ldap

更改儲存 LDAP 數據的位置

  • April 25, 2021

我在 CentOS 7 上執行 openLDAP 伺服器版本 2.4.40。LDAP 將使用線上配置選項 (olc) 進行配置。感謝這個問題,我知道 slapd 的數據庫文件在/var/lib/ldap.

我正在嘗試在 linux 機器上執行一個 openLDAP 伺服器作為只讀作業系統分區和另一個用於持久數據的分區。我將能夠在 OS 分區上安裝和配置 openLDAP,但在配置後將無法訪問它。

**問題:*是否可以將 LDAP 讀取/寫入數據的位置從/var/lib/ldap*更改到持久數據分區上的某個位置?

我曾經在每次新設置後移動 openldap 的預設數據庫。

我想移動數據庫時執行的步驟:

  • 停止slapd
sudo service slapd stop
  • slapcat``cn=configLDIF 文件中分支的內容
sudo slapcat -b cn=config > /tmp/config.ldif
  • /var/lib/ldap目錄複製到您想要的任何位置
  • 確保使用者openldap擁有新目錄和其中的所有文件
  • 編輯之前導出的 LDIF 以將其修改olcDbDirectory為新位置
  • 導入 LDIF(在執行此操作之前確保 LDIF/etc/ldap/slapd.d為空)
sudo rm -r /etc/ldap/slapd.d/*
sudo slapadd -F /etc/ldap/slapd.d -b cn=config -l /tmp/config.ldif
  • 確保其/etc/ldap/slapd.d及其所有內容歸openldap
sudo chown -R openldap:openldap /etc/ldap/slapd.d/
  • 編輯所需的配置以允許 Slapd 使用這個新的數據庫目錄

例如,使用apparmor編輯文件/etc/apparmor.d/usr.sbin.slapd並添加以下行:

/path/to/new/db/ r,
/path/to/new/db/** rwk,
  • 重啟apparmor和slapd
sudo service apparmor restart
sudo service slapd start

通常它可以解決問題。這也是我備份我的 openldap 實例配置的方式。

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