web-dev-qa-db-ja.com

ldapdeleteを使用して、不適切に設定されたolcデータベースを削除するにはどうすればよいですか?

私は歩き回っています このチュートリアル そしてエラーが発生し続けました-おそらく手動で入力していたためです-それで私は再試行し、入力後にそれを実行しました

# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=example,dc=local
olcDbDirectory: /var/lib/ldap

それはうまくいったので、残りを入力して再実行しました:

Sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldif

そして今それは言う

ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcSuffix> namingContext "dc=home,dc=local" already served by a preceding hdb database

私が推測するように、これは、同じ名前ですでに存在するため、ldapaddを完了できないことを意味します。

ここから )を使用して削除してみました:

Sudo ldapdelete 'dc=example,dc=local'

パスワードを要求していますが、パスワードが機能せず、初期設定でolcRootPWとして何も設定されていませんでした。

このコンテキストでldapdeleteを使用して、このデータベースを再セットアップするにはどうすればよいですか?

5
user29600

一般に、cn = configの初期設定プロセスは非常に簡単ではなく、その過程で自分の足を撃つ方法はたくさんあります。ただし、cn = configはslapd.d(通常は${prefix}/etc/openldap/)のLDI​​F形式のファイルに保存されることに注意してください。手作業で編集できます(注意深く、slapdが実行されていない間)。したがって、自分自身をロックアウトした場合(RootDN/RootPWなし)、またはcn = configを完全に壊した場合は、いつでもそこで修正できます。

基本的な構成を実行するための良い方法は、実際に古いスタイルslapd.confの方法で実行してから、に変換することです。 slapd.dslaptest -f -Fを使用)基本的なもの(データベース、モジュール、およびRootDN/RootPW)がソートされたら。

4
Ingmar Hupp