- - PR -
OpenLDAPについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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 ] | ||||||||||||
|
投稿日時: 2004-04-16 21:02
とりあえず、ルートオブジェクトだけのldifファイルを作って登録する
ところからはじめてみては如何でしょうか。 # 私はルートオブジェクトを登録していない段階から、一気に下の階層まで # 登録するということをやったことがないので、そもそもそういうことが # 可能かどうかも知らないのですが... それでダメなら、ルートオブジェクトの内容を見直す(include している schema はそういうつくりを許しているか? objectclass 毎にいろいろと 条件があります)というのが次の手順でしょう。 # ルートオブジェクトに objectclass top は要らないんでしたっけ? # どうも自信が無い... 追記: LDAP v2 と v3 とでそのあたりも変わっているので、参考にしたサイトと お使いのLDAPのバージョン(OpenLDAPのバージョンではないことに注意!) とが一致しているかどうかチェックしてみるのがよろしいかと。 [ メッセージ編集済み 編集者: ぽんす 編集日時 2004-04-16 21:08 ] | ||||||||||||
|
投稿日時: 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コマンドで、ルートオブジェクトが正常に登録された場合は どのようなメッセージが表示されるのでしょうか。 また、その時に作成されるファイルとかもあれば 教えて頂けると有難いです。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 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 こっちはたぶんまずいんじゃあないかと。
私もうろおぼえなんですが、v2では許されていたldifの書式が v3では通らなくなったとか、そういうことがあったかと。 エラーメッセージをみると、そういうのとはまた別だと思いますが。
すみません、最後にそういうことをやったのは一年くらい前のことで、 スッカリ忘れてしまいました... ファイルが作成されたり、というようなことでしたら、バックエンドで 使用しているDBの種類に応じてDBのファイルが作成されるかと 思いますが、ファイル自体はインストール時にすでに作成されているかも。
どちらもldifの記述のやり方は載ってないようですので、 http://solaris.bluecoara.net/ http://www.ki.rim.or.jp/~kuro/ このふたつのサイトをおすすめしておきます。 |
1