- PR -

OpenLDAPについて

1
投稿者投稿内容
ArIK
会議室デビュー日: 2004/04/16
投稿数: 4
投稿日時: 2004-04-16 16:04
こんにちは。はじめて投稿します。

最近、LDAPの勉強をしています。
参考となるサイトを見ながら、インストール、設定と
行ったのですが、ldapaddコマンドでエラーが出ます。

エラー内容は、以下の通りです。

-----
 #ldapadd -x -D "cn=root,dc=example,dc=com" -W -f /var/lib/ldap/test.ldif
 Enter LDAP Password:
 adding new entry "dc=example,dc=com"
 ldap_add: Unknown error
  additional info: entry store failed

 ldif_record() = 80
-----

なお、slapd.conf、LDIFファイルは、次のように設定しています。

/etc/openldap/slapd.conf
-----
 include /etc/openldap/schema/core.schema
 include /etc/openldap/schema/cosine.schema
 include /etc/openldap/schema/inetorgperson.schema
 include /etc/openldap/schema/nis.schema
 include /etc/openldap/schema/redhat/rfc822-MailMember.schema
 include /etc/openldap/schema/redhat/autofs.schema
 include /etc/openldap/schema/redhat/kerberosobject.schema

 pidfile //var/run/slapd.pid
 argsfile //var/run/slapd.args

 database ldbm
 suffix "dc=example,dc=com"
 rootdn "cn=root,dc=example,dc=com"
 rootpw secret
 directory /var/lib/ldap

 index objectClass eq
-----

/var/lib/ldap/test.ldif
-----
 dn: dc=example,dc=com
 objectclass: dcObject
 objectclass: organization
 o: org
 dc: example

 dn: cn=root,dc=example,dc=com
 objectclass: organizationalRole
 cn: root

 dn: cn=man,dc=example,dc=com
 objectclass: top
 objectclass: person
 objectclass: organizationalPerson
 objectclass: inetOrgPerson
 cn: man
 sn: MAN
-----

上記のエラー原因がわかる方、またslapd.conf、LDIFファイル以外で
確認すべき内容等を知っている方がいましたら、
ご教示よろしくお願いいたします。


[ メッセージ編集済み 編集者: ArIK 編集日時 2004-04-20 17:22 ]
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-04-16 21:02
とりあえず、ルートオブジェクトだけのldifファイルを作って登録する
ところからはじめてみては如何でしょうか。

# 私はルートオブジェクトを登録していない段階から、一気に下の階層まで
# 登録するということをやったことがないので、そもそもそういうことが
# 可能かどうかも知らないのですが...

それでダメなら、ルートオブジェクトの内容を見直す(include している
schema はそういうつくりを許しているか? objectclass 毎にいろいろと
条件があります)というのが次の手順でしょう。
# ルートオブジェクトに objectclass top は要らないんでしたっけ?
# どうも自信が無い...

追記:
LDAP v2 と v3 とでそのあたりも変わっているので、参考にしたサイトと
お使いのLDAPのバージョン(OpenLDAPのバージョンではないことに注意!)
とが一致しているかどうかチェックしてみるのがよろしいかと。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2004-04-16 21:08 ]
ArIK
会議室デビュー日: 2004/04/16
投稿数: 4
投稿日時: 2004-04-20 17:14
ぽんすさん、
返答有難うございます。

引用------------------------------------------------------------
 とりあえず、ルートオブジェクトだけのldifファイルを作って登録する
 ところからはじめてみては如何でしょうか。

 ルートオブジェクトに objectclass top は要らないんでしたっけ?
----------------------------------------------------------------

LDIFファイルにobjectclass topも指定して、ルートオブジェクトのみの
登録を試してみたのですが、ldapaddコマンドの結果は同じでした。

/var/lib/ldap/test.ldif
-----
 dn: dc=example,dc=com
 objectclass: dcObject
 objectclass: organization
 o: org
 dc: example

 dn: cn=root,dc=example,dc=com
 objectclass: organizationalRole
 objectclass: top
 cn: root
-----

引用------------------------------------------------------------
 LDAP v2 と v3 とでそのあたりも変わっているので、参考にしたサイトと
 お使いのLDAPのバージョン(OpenLDAPのバージョンではないことに注意!)
 とが一致しているかどうかチェックしてみるのがよろしいかと。
----------------------------------------------------------------
参考にしたサイトは、
RedHat9の参照ガイド
@ITの記事「LDAPによるパスワードの一元管理」
です。
OpenLDAPのバージョンは2.0なのでLDAPv2とv3どちらも
サポートしていると思うのですが。
↑この発言は自身ないです。。。

基本的な内容の追加質問で申し訳ないのですが、
ldapaddコマンドで、ルートオブジェクトが正常に登録された場合は
どのようなメッセージが表示されるのでしょうか。
また、その時に作成されるファイルとかもあれば
教えて頂けると有難いです。

よろしくお願いします。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-04-20 21:10
えーと、ベースというのだかトップツリーと言うのだか私は用語を
理解していないのですが

 dn: dc=example,dc=com
 objectclass: dcObject
 objectclass: organization
 o: org
 dc: example

これのことです。
まず、基礎になるものを登録する必要があります。

で、

 dn: cn=root,dc=example,dc=com
 objectclass: organizationalRole
 objectclass: top
 cn: root

こっちはたぶんまずいんじゃあないかと。

引用:

OpenLDAPのバージョンは2.0なのでLDAPv2とv3どちらも
サポートしていると思うのですが。
↑この発言は自身ないです。。。


私もうろおぼえなんですが、v2では許されていたldifの書式が
v3では通らなくなったとか、そういうことがあったかと。
エラーメッセージをみると、そういうのとはまた別だと思いますが。

引用:

基本的な内容の追加質問で申し訳ないのですが、
ldapaddコマンドで、ルートオブジェクトが正常に登録された場合は
どのようなメッセージが表示されるのでしょうか。
また、その時に作成されるファイルとかもあれば
教えて頂けると有難いです。


すみません、最後にそういうことをやったのは一年くらい前のことで、
スッカリ忘れてしまいました...
ファイルが作成されたり、というようなことでしたら、バックエンドで
使用しているDBの種類に応じてDBのファイルが作成されるかと
思いますが、ファイル自体はインストール時にすでに作成されているかも。

引用:

参考にしたサイトは、
RedHat9の参照ガイド
@ITの記事「LDAPによるパスワードの一元管理」
です。


どちらもldifの記述のやり方は載ってないようですので、
http://solaris.bluecoara.net/
http://www.ki.rim.or.jp/~kuro/
このふたつのサイトをおすすめしておきます。
1

スキルアップ/キャリアアップ(JOB@IT)