パスワードポリシーオーバーレイをロードしようとすると、次のエラーが発生します。
ldapadd -Wx -D "cn=Manager,cn=config" -f overlay.ldif
Enter LDAP Password:
adding new entry "olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config"
ldap_add: No such object (32)
matched DN: cn=config
ファイルの内容は次のとおりです。
dn: olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config
olcOverlay: ppolicy
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcPPolicyDefault: cn=default,ou=Policies,dc=site,dc=com
olcPPolicyHashCleartext: TRUE
olcPPolicyUseLockout: FALSE
私が見つけたログから:
config_add_internal: DN="olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config" not child of DN="cn=config"
私はCentOS 6.3とopenldap-servers-2.4.23-26.el6_3.2.x86_64を使用しています。
ベストアンサー1
cn=config
OpenLDAPデータベースの一部のレコードは、数値プレフィックス(など)を使用{0}
します{1}
。したがって、データベースの内容を変更するには、cn=config
正しい識別名:レコードパス(DN)を使用する必要があります。 OpenLDAPで使用される場合、cn=config
最初のolcDatabaseエントリは通常構成データベース自体(olcDatabase={0}config,cn=config
)です。私の特定のシステムでは、私のプライマリデータベースはolcDatabase={1}hdb,cn=config
。
変更する必要があるDNがわからない場合は、知っているolcDatabase
唯一の方法はそのDNを検索して結果を確認することです。
この数字(ビット)は2つの目的に{0}
使用されます。
- 同じ名前の複数の項目を持つことができます。
2つのolcDatabase=bdb
データベースがあり、同じDNを持つ2つのエントリを持つことができないため、問題がある可能性があります。 - 彼らは注文を受け入れます。
LDAP プロトコルは順序に興味がありません。ただし、注文を許可するためにRDNにプレフィックスを追加できます{X}
。この特別な場合にデータベースを注文する必要がある理由はわかりません。ただし、他の主なユースケースもありますcn=schema,cn=config
。たとえば、cn=schema
スキーマが以前のスキーマの属性に依存するオブジェクトクラスを定義できます。したがって、シナリオは順次ロードする必要があります。