- - PR -
OpenLDAPの簡易認証ができません
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-09-22 11:34
OpenLDAP初心者です。
Fedora Core 2.6.9上でOpenLDAP2.2.13を使用しています。 別のLDAP client端末からbindを簡易認証によって行おうとしているのですが、 ユーザのDNのみでの認証がうまく動作しておらず、原因がわかりません。 ユーザのDNとパスワードは以下のtest.ldifファイルのように定義しています。 パスワード(userPassword)に文字列(例えば、"abc"など)を記述している場合は、 正常に認証できました。 test.ldifファイルのuserPasswordを空白に設定して、 LDAP clientからはユーザのDN(cn=test001,dc=root)を指定し、 パスワードはNULLとしてbindの簡易認証を行ってみたのですが、 Result Code: unwillingToPersform Matched DN: (null) Error Message: unauthenticated bind (DN with no password) disallowed というエラーが返されてしまい、認証できませんでした。 ユーザのDNのみを指定し、パスワードをNULLとした認証をするためには、 どの設定が誤っているのでしょうか? それとも別に何か設定が必要なのでしょうか? ご存知の方がいらっしゃいましたら、 よろしくお願いします。 読み込ませたtest.ldifとslapd.confは以下のような内容になっています。 ------------------<test.ldif>--------------------- dn:cn=test001,dc=root cn:test001 sn:test002 objectclass:inetorgperson userPassword: -------------------------------------------------- ------------------<slapd.confより抜粋>------------ access to * by * auth suffix "dc=root" -------------------------------------------------- |
|
投稿日時: 2006-09-22 17:10
ユーザのDNのみでパスワードを指定しない簡易認証はできません。
匿名のアクセス権でよければ slapd.conf に allow bind_anon_dn を指定するとDNのみでもエラーにならなくなります。ただし、 間違ったDNを指定してもエラーにならなくなるので、指定の DNが存在するかのチェックには使えません。 [ メッセージ編集済み 編集者: はらすん 編集日時 2006-09-22 18:36 ] |
|
投稿日時: 2006-09-22 19:32
はらすんさん
ご回答ありがとうございました。 bind_anon_dnでは、存在しないDNでも匿名認証として許可されてしまうのですね。 bind時にパスワードはチェックせず、DNの存在の有無のみを チェックする良い方法はないのでしょうか? 実際に認証が許可されなくても良いのですが、 返される認証エラーの内容からDNの存在を判断できたりしないのでしょうか? 何か方法がありましたら、教えてください。 |
|
投稿日時: 2006-09-25 10:09
bind は匿名にしておいて、チェックしたいDNを基点にbase検索する
のではダメでしょうか? DNが存在すれば LDAP_SUCCESS (0) が返り、 存在しなければ LDAP_NO_SUCH_OBJECT (32)が返ります。 |
|
投稿日時: 2006-09-26 09:23
はらすんさん
度々のご回答ありがとうございます。 おっしゃる通り、匿名でbindを行った後に検索を実行した結果で 判断するしかなさそうですね。 DNのチェックができればよかったので、 1往復のシーケンスだけでチェックできればベストかと思っていたのですが。 今回はご提案の方法で対処しようかと思います。 ありがとうございました。 |
1