ldap_addエラー(80)<olcModuleLoad>ハンドラーが1で終了しました


8

このチュートリアルに従って基本的なLDADサーバー(OpenLDAP)をセットアップしてクレイント認証をしようとしていますが、バックエンド構成を追加するステップで立ち往生しています。

指定されたとおりにbackend.ldifファイルを作成し、次のように追加しようとしています。

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

しかし、私は得ます:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcModuleLoad> handler exited with 1

完全なLDIFは次のとおりです。

#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=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=mydomain,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=mydomain,dc=us" write by * read

トラブルシューティングの方法について何か提案はありますか?これが私の最初のLDAPサーバーについて何も知りません。

更新:

11.04サーバーの新しいインストールからやり直しました。

私は次のことを行いました:

hostname ldap.mycompany.com
nano /etc/hosts (set to ldap.mycompany.com)
nano /etc/hostname (set to ldap.mycompany.com)
sudo apt-get install slapd ldap-utils

最初のスキーマをロードしようとします:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif

私は得ます:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: olcAttributeTypes: Duplicate attributeType: "0.9.2342.19200300.100.1.2"

以下に提案されたコマンドを試しました:

root@ldap:~# cat /etc/ldap/slapd.d/cn\=config/cn\=module\{0\}.ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
structuralObjectClass: olcModuleList
entryUUID: 3bedbe64-e4b2-1030-832a-17900c7b3644
creatorsName: cn=config
createTimestamp: 20120206020131Z
entryCSN: 20120206020131.785958Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120206020131Z

しかし、今回はモジュールについての不適合ではなく、「重複したattributeType」について不平を言っています。

それで、「コサイン」がリストにすでにあるかどうかを確認するには、「ロードされた属性タイプを表示する」というコマンドが必要ですか?

OK、私はそれを仮定します:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

すべての製品で同じエラーが発生するため、不要です。

そこで、〜/ backend.ldifの追加に移ります。モジュールがすでにロードされているように見えるので、ロードモードル行を上から削除しました。

追加しようとすると:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

私は得ます:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcDatabase=hdb,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcSuffix> namingContext "dc=mycompany,dc=us" already served by a preceding hdb database

これはコンピュータ上の唯一のデータベースであるため、これは意味がありません。これは、私が追加する最初のエントリです。

回答:


6

エラーメッセージは、back_hdbモジュールがすでに構成に含まれていることを示しています。これは次のコマンドで確認できます

cat /etc/ldap/slapd.d/cn\=config/cn\=module\{0\}.ldif

これに次のような行が含まれている場合は、すでに含まれています。

olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb 

この場合は、最初の6行を削除してbackend.ldif、もう一度やり直してください。

ゼロから始めたい場合は、次のコマンドを使用できます。

apt-get purge slapd ldap-utils

すべてのデータファイルを含む完全なLDAPインストールを削除します。

その後、対応するコマンドでOpenLDAPを再インストールする必要があります

apt-get install slapd ldap-utils

ところで、私はこのチュートリアル(スクリプトのすべてのデフォルト値を使用している間)を実行したところ、新しく作成されたLucid VMで問題なく動作しました。


編集する

さて、あなたは他の投稿で10.04について話しました。実際、11.04の自動構成はslapd、10.04と比較するとはるかに優れています。スキーマファイルとbackend.ldifに関するチュートリアルのすべて、およびフロントエンドの一部でさえ、それが何をするかです。fronted.ldifから次の行を削除して、そこから続行することができます。

# Create top-level object in domain
dn: dc=tuxnetworks,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Tuxnetworks
dc: Tuxnetworks
description: LDAP Server 

# Admin user.
dn: cn=admin,dc=tuxnetworks,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: mypassword 

さらにヒント:OpenLDAP(cn=config)のバックエンド構成は、LDAP構造と同等のファイルシステム構造のLDIFファイルのコレクションにすぎません。自分で閲覧できます/etc/ldap/slapd.d。10.04には最低限必要なslapd作業がありましたが、11.04にはすぐに始められるようにすべてが用意されています。


もう一度全部やってみます。11.04 VMでこれを実行しています。新しいバージョンに互換性がないものがあるのでしょうか?または、11.04に付属しているバージョンのOpenLDAPにはすでにそのモジュールがロードされていますが、10.04にはロードされていませんか?したがって、ldapをインストールしてそれを台無しにした場合、「apt-get purge slapd ldap-utils」を実行すると、クリーンインストールを開始した場合と同じになりますか?どこにも「ゴミ」が残りませんか?
ニック

さて、「コサイン」スキーマを読み込もうとすると、フレッシュインストールでもう一度試し、「olcAttributeTypes:Duplicate attributeType」を取得しました。メッセージ全体については、上記をご覧ください。
Nick

私の編集を参照してください、これはコメントを待ち望んでいます。
スヴェン

10.04を使用して再度チュートリアルを実行することで、LDAPが機能しました。タイトルの質問に回答するので、解決済みとマークします。ありがとう!
Nick

1

back_hdbの末尾に.laを追加します

LDIFは次のようになります

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

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=mydomain,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=mydomain,dc=us" write by * read

説明:http : //ubuntuforums.org/archive/index.php/t-1594138.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.