web-dev-qa-db-ja.com

ActiveDirectoryに対するldapsearchが認証に失敗する+検索パラメータが間違っている

OpenLDAPツールのldapsearchを使用して、会社のActiveDirectoryで電子メールと電話番号を検索しています。このクエリは、NTLM認証を使用してLinuxウィキをセットアップできるように、ドメインに対して認証できることを確認するためのテストです。私の理論では、情報をADに正常に照会できれば、自分のWikiをADに対して認証できるようになります(私は ActiveDirectoryの下にmoin wikiを設定するための手順 )。

問題は、ldapsearchクエリを正しく取得できないように見えることです。 _-D_は_-D "Americas\John_Marsharll"_のようなものでなければならないことを示す多くのチュートリアルをネット上で見ました。ただし、_Americas\John_Marshall_を使用すると、ldap_bind: Invalid credentials (49)エラーメッセージが表示され続けます。意味のある結果が得られるのは、以下のパラメーターを使用してクエリを実行したときだけです。しかし、それでもメールや電話番号の入手方法がわかりません。

_[John_Marshall@WN7-BG3YSM1 ~]$ ldapsearch -x -h 10.1.1.1 \
 -b "cn=Users,dc=Americas" mail telephonenumber -D "cn=John_Marshall,dc=Americas"
# extended LDIF
#
# LDAPv3
# base <cn=Users,dc=Americas> with scope subtree
# filter: (objectclass=*)
# requesting: mail telephonenumber -D cn=John_Marshall,dc=Americas 
#

# search result
search: 2
result: 32 No such object

# numResponses: 1
[John_Marshall@WN7-BG3YSM1 ~]$
_

上記のldapsearchクエリで私が間違っていることについて誰かが私にポインタを教えてもらえますか? AD ldapサーバーは10.1.1.1で、ADドメインは「南北アメリカ」です。

最終的な解決策へのステップ(実際の答えはWolfgangの応答にあります):

コメントの情報とWolfgangの回答を使用して、解決策をまとめることができましたが、そこに到達するのはかなりうまくいきませんでした...

_ldp.exe_は私にはあまり役に立ちませんでした。ただし、Outlookが認証したサーバーのスニッフィングを開始し、クエリでそのIPアドレスを置き換えました。突然、正しい認証が得られ、_ldapsearch -x -h <new_ip_addr> -D "Americas\John_Marshall" -W -b "dc=MyCompanyName,dc=com"_を使用してクエリを実行しました。このクエリの結果(基本的には、企業のLDAPディレクトリの多くの生データダンプでした)により、_-b_パラメーター(検索ベース)を絞り込むことができました。

3
Mike Pennington

さて、これで間違っている可能性のあるいくつかのことがあります:

  1. 単純な認証を指定していますが、パスワードを指定しておらず、コマンドラインからパスワードを収集するようにldapsearchに指示していません。ユーザーJohn_Marshallにはパスワードがありませんか?彼が持っている場合、どういうわけかそれを提供する必要があります。 -w <passsword>または-Wを指定します(プロンプトでパスワードを入力するため)。

  2. ユーザーは本当にcn=John_Marshall,dc=Americasですか?私たちのADでは、例として、自分のbinddnは "dn: CN=Wolfgang Schulze-Zachau,CN=Users,DC=aminocom,DC=com"になります。

  3. cn=John_Marshall,dc=Americas」のbinddnは可能ですが、私には少し短いように見えます。もちろん、これはすべてADの構成方法によって異なります。これが本当にそのユーザーのDNであることを確認できますか? ADユーザーとコンピューターを見ると、そのユーザーにつながるツリー項目の完全なリストは何ですか?

  4. フィルターを指定しない場合、検索ベースにあるすべてのアイテムのリストが表示されます。これは非常に長いリストになる可能性があります。

OP編集

うまくいった呪文は次のとおりです。

[John_Marshall@WN7-BG3YSM1 ~]$ ldapsearch -x -h <new_ip_addr> \
-D "Americas\John_Marshall" -W \
-b "cn=John_Marshall,ou=users,ou=austin,dc=amer,dc=MyComanyName,dc=com" \
mail telephonenumber ""
5
wolfgangsz