- - PR -
OpenLDAPのデータの追加・更新・削除について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-07-29 12:07
be1300ccさん
データの削除は,以下のように行います。 ldapdelete -D "cn=Manager,dc=tec,c=JP" -w secret "削除するDN" また,再帰的に削除する方法もあるようです。 ldapdelete -D "cn=Manager,dc=tec,c=JP" -w secret -r "削除するDN" 詳しくはldapdeleteのマニュアルをご覧ください。 BDBのデータは、 /usr/local/var /usr/local/etc /usr/local/share のどこかでしょうね。 すいません,よく分かりません ![]() |
|
投稿日時: 2003-07-29 13:28
tanaboさん
ご回答ありがとうございます。 マニュアルを見ながらデータの削除を行っているのですが、 やはり ldapdelete -D "cn=Manager,dc=tec,c=JP" -w secret "削除するDN" ldapdelete -D "cn=Manager,dc=tec,c=JP" -w secret -r "削除するDN" を行っても、ldap_sasl_interactive_bind_s: No such attribute (16)が出てしまい 削除ができません。 何かまだ設定がおかしいのでしょうか? |
|
投稿日時: 2003-07-29 13:48
be1300ccさん
これだけの情報では原因は検出しにくいです。 とりあえず、以下の方法を試してみてください。 1.-xオプションをつけて実行する。 2.パスワードに誤りがないかどうか確認する。 これでだめな場合は,デバッグモードでエラーの原因を 探る必要があります。 |
|
投稿日時: 2003-07-29 14:18
tanaboさん
-xオプションをつけた場合 ldapdelete -x -D "dc=tec,dc=jp" -w secret -r "dc=tec,dc=jp" ldap_bind: Inappropriate authentication (48) パスワードの方は間違いはありませんでした。 因みに、デバッグモードでエラーの原因を検出するにはどうすればよろしいのでしょうか? ご享受お願いします。 |
|
投稿日時: 2003-07-29 14:30
tanaboさん
一応、デバッグモードで実行させてみました。 結果は以下のようになっております。 [root@wintel openldap]# slapd -d 255 @(#) $OpenLDAP: slapd 2.0.23-Release (木 6月 27 00:42:33 JST 2002) $ root@miclas:/var/tmp/mlbld.355/rpm/BUILD/openldap-2.0.23/servers/slapd daemon_init: <null> daemon_init: listen on ldap:/// daemon_init: 1 listeners to open... ldap_url_parse_ext(ldap:///) daemon: socket() failed errno=97 (Address family not supported by protocol) daemon: bind(6) failed errno=98 (Address already in use) daemon: bind(6) failed slapd stopped. connections_destroy: nothing to destroy. |
|
投稿日時: 2003-07-29 14:47
be1300ccさん
このログではslapdが起動していないように見えますが・・・。 デバッグモードでバグを見るには, slapd -d 255 -f <<slapd.confを指定>> で起動した後にldapdeleteコマンドを実行すると ログが流れます。 ldap_bind: Inappropriate authentication (48) というエラーは,認証が適切ではないということですので, DNとパスワードに間違いがある、もしくはkrb認証を使用している場合の 設定ミスによるエラーのようです。 searchやaddは成功しますか?成功しないなら環境を1から再作成した方が 楽かもしれませんね。 |
|
投稿日時: 2003-07-29 15:05
tanaboさん
slapd -d 255 -f <<slapd.confを指定>>で起動させ、ldapdeleteコマンドを実行させた のですが、ログは出ずに、ldap_bind: Inappropriate authentication (48)のエラー しか出ませんでした。 確かにパスワードの件は、slad.confで"secret"LDIFファイルの方でも"secret"と指定し てあり、コマンド入力の際にも同じものを入れている為、間違っていないと思います。 seachは成功しますが、addが失敗します。 先日、BerkleyDBとOpenLDAPを再インストールしましたが、やはりKerberos関連がおかしい のでしょうか? また、一般的にはHeidmdal Kerberos と MIT Kerberos のどちらを使用するのでしょうか? よろしくお願いします。 |
|
投稿日時: 2003-07-29 15:24
be1300ccさん
ログが出るのはslapdを実行したターミナル上ですが, それでも出ませんでしたか? kerberos認証に関しては、私は使用したことがないので 正直分かりません。すみません。 一点気になるのは, >確かにパスワードの件は、slad.confで"secret"LDIFファイルの方でも"secret"と指定し >てあり、コマンド入力の際にも同じものを入れている為、間違っていないと思います。 の部分です。ここで質問です。 1.データを削除しようとしているユーザはrootdnですか? 2.あるいはLDAPサーバ内に追加したユーザでしょうか? 3.rootdnを使用して削除しようとしているなら,rootdnをLDAPサーバ内に登録しましたか? 基本的にrootdnはLDAPサーバに登録しません。 もしrootdnをエントリとしてLDAPサーバに登録した場合は, slapd.confのaccess control部分を変更して、 アクセス権を設定してやる必要があります。またはそのエントリを 削除する必要があります。 なぜなら,通常LDAPサーバに登録されたユーザエントリ(passwordを持っているエントリ)で LDAPサーバにアクセスする場合は,access controlを設定しなければならないからです。 searchで成功してadd,deleteで失敗するとすれば,権限の問題も絡んでいるかもしれません。 |