CentOS 7でopenLDAPサーバーバージョン2.4.40を実行しています。LDAPはオンラインconfオプション(olc)を使用して構成されます。このおかげで 質問 、slapdのデータベースファイルが/var/lib/ldap
にあることを私は知っています。
LinuxボックスでopenLDAPサーバーを読み取り専用OSパーティションおよび永続データ用の別のパーティションとして実行しようとしています。 OSパーティションにopenLDAPをインストールして構成することはできますが、構成後にアクセスできなくなります。
質問:LDAPがデータを読み書きする場所を/ var/lib/ldapから変更することは可能ですか? )永続データパーティションのどこかに?
私は、新しいセットアップのたびに、openldapのデフォルトデータベースを移動していました。
データベースを移動したいときに行う手順:
slapcat
LDIFファイルのcn=config
ブランチの内容/var/lib/ldap
ディレクトリを好きな場所にコピーしますopenldap
が新しいディレクトリとその中のすべてのファイルを所有していることを確認してくださいolcDbDirectory
を新しい場所に変更しますslapadd -F /etc/ldap/slapd.d -b cn=config -l /path/to/file/file.ldif
をインポートします(これを行う前に、/etc/ldap/slapd.d
が空であることを確認してください)/etc/ldap/slapd.d
とそのすべてのコンテンツがopenldap
によって所有されていることを確認してください
Slapdがこの新しいデータベースディレクトリを使用できるように、必要な構成を編集します
たとえば、apparmor
を使用して、ファイル/etc/apparmor.d/usr.sbin.slapd
を編集し、次の行を追加します
/path/to/new/db/ r,
/path/to/new/db/** rwk,
通常、それはトリックを行います。これは、openldapインスタンスの設定をバックアップする方法でもあります。
私はあなたの質問を2つの部分に分けて読みました:
/var/lib/ldap
以外の場所に保存することを提案します。#2は可能だと思いますが、OpenLDAPを直接使用した経験が十分ではありません。私にできることは、#1の代替ソリューションを提案することです。 mount
コマンドとfstab
の両方を使用して、差分ディスクパーティションを/var/lib/ldap
にマウントするのは簡単です。これは、OpenLDAPがこれをネイティブに処理するかどうかに関係なく、目標を効果的に達成するはずです。 /var/lib/ldap
フォルダを目的の場所へのシンボリックリンクに置き換えることもできる場合があります。繰り返しますが、これはOpenLDAPと、そのプロジェクトに組み込まれている、または組み込まれていないサポートをバイパスします。
最後に、特定のログ領域の書き込みアクセスを維持することも検討する必要があります。上記の段落の手法は、ログファイルの場所を移動する場合にも機能します。
Openldapは、データベース、DB、ファイルの作成後の移動をサポートしていないようです。 Openldapは現在、DBファイルの削除もサポートしていません。
新しいDBファイルを作成し、そのolcDbDirectory属性を別のパーティションのパスに定義することができます。
dn: olcDatabase=bdb,cn=config
objectClass: olcBdbConfig
olcDatabase: bdb
olcDbDirectory: /partition/db/new-db-file
olcSuffix: dc=example,dc=net
Ch 6.1.1.4.5にある情報 OLCを使用したデータベースの追加/削除