1.4. slapd構成データベースの変更
また、slapd-config DIT を照会および変更することもできます。 以下にいくつかの例を示します。
• ldapmodify を使用して、「インデックス」(DbIndex 属性)を {1}mdb,cn=config データベース(dc=example,dc=com)に追加します。 ファイルを作成し、それを呼び出します uid_index.ldif、次の内容:
dn: olcDatabase={1}mdb,cn=config 追加: olcDbIndex
olcDbIndex: メール eq,sub
次に、次のコマンドを発行します。
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f uid_index.ldif
エントリ「olcDatabase={1}mdb,cn=config」を変更しています
次の方法で変更を確認できます。
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=config '(olcDatabase={1}mdb)' olcDbIndex
dn: olcDatabase={1}mdb,cn=config olcDbIndex: objectClass eq olcDbIndex: cn,uid eq
olcDbIndex: uidNumber,gidNumber eq olcDbIndex: member,memberUid eq olcDbIndex: mail eq,sub
• スキーマを追加しましょう。 まず LDIF 形式に変換する必要があります。 変換されたスキーマだけでなく、未変換のスキーマも次の場所にあります。 /etc/ldap/スキーマ ディレクトリにあります。
•slapd-config データベースからスキーマを削除するのは簡単ではありません。 テスト システムでスキーマの追加を練習します。
• スキーマを追加する前に、どのスキーマがすでにインストールされているかを確認する必要があります (デフォルトのすぐに使用できる出力を示しています)。
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=schema,cn=config dn
dn: cn=スキーマ、cn=config
dn: cn={0}コア、cn=スキーマ、cn=config
dn: cn={1}コサイン、cn=スキーマ、cn=config
dn: cn={2}nis、cn=スキーマ、cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
次の例では、CORBA スキーマを追加します。
1. 変換設定ファイルの作成 schema_convert.conf 次の行が含まれています。
/etc/ldap/schema/core.schema を含む /etc/ldap/schema/collective.schema を含む /etc/ldap/schema/corba.schema を含む /etc/ldap/schema/cosine.schema を含む /etc/ldap/ schema/duaconf.schema には /etc/ldap/schema/dyngroup.schema が含まれます
/etc/ldap/schema/inetorgperson.schema を含む /etc/ldap/schema/java.schema を含む
/etc/ldap/schema/misc.schema を含む /etc/ldap/schema/nis.schema を含む /etc/ldap/schema/openldap.schema を含む /etc/ldap/schema/policy.schema を含む /etc/ldap/ schema/ldapns.schema には /etc/ldap/schema/pmi.schema が含まれます
2. 出力ディレクトリを作成します。 ldif_output.
3. スキーマのインデックスを決定します。
スラップキャット -f schema_convert.conf -F ldif_output -n 0 | grep corba,cn=スキーマ
cn={2}corba、cn=スキーマ、cn=config
slapd が同じ親 DN を持つオブジェクトを取り込むと、 index そのオブジェクトに対して。 インデックスは中括弧内に含まれます: {X}。
4.slapcat を使用して変換を実行します。
スラップキャット -f schema_convert.conf -F ldif_output -n0 -H \ ldap:///cn={2}corba,cn=schema,cn=config -l cn=corba.ldif
変換されたスキーマは次のとおりです。 cn=corba.ldif
5。 編集 cn=corba.ldif 次の属性に到達します。
DN: cn=corba、cn=スキーマ、cn=config
...
cn:コルバ
また、下部から次の行を削除します。
structuralObjectClass: olcSchemaConfig entryUUID: 52109a02-66ab-1030-8be2-bbf166230478
作成者名: cn=config createTimestamp: 20110829165435Z
エントリCSN: 20110829165435.935248Z#000000#000#000000
修飾子名: cn=configmodifyTimestamp: 20110829165435Z
属性値はさまざまです。
6. 最後に、ldapadd を使用して、slapd-config DIT に新しいスキーマを追加します。
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f cn\=corba.ldif
新しいエントリ「cn=corba,cn=schema,cn=config」を追加
7. 現在ロードされているスキーマを確認します。
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn
dn: cn=スキーマ、cn=config
dn: cn={0}コア、cn=スキーマ、cn=config
dn: cn={1}コサイン、cn=スキーマ、cn=config
dn: cn={2}nis、cn=スキーマ、cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
dn: cn={4}corba、cn=スキーマ、cn=config
外部アプリケーションとクライアントが LDAP を使用して認証するには、そのようにするようにそれぞれを特別に構成する必要があります。 詳細については、適切なクライアント側のドキュメントを参照してください。