对Active Directory的ldapsearchauthentication失败+search参数错误

我正在使用OpenLDAP工具中的ldapsearch来search我们的公司Active Directory中的电子邮件和电话号码。 这个查询是一个testing,以确保我可以对域进行身份validation,所以我可以build立一个具有NTLM身份validation的Linux维基。 我的理论是,如果我可以成功地查询AD的信息,那么我更接近让我的维基对AD进行身份validation(我有指示在ActiveDirectory下设置moin维基 )。

问题是,我似乎无法得到正确的ldapsearch查询。 我在网上看过许多教程,表明-D应该是-D "Americas\John_Marsharll" ; 但是,我不断收到ldap_bind: Invalid credentials (49)当我使用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域是“美洲”。

最终解决scheme的步骤(实际答案在沃尔夫冈的回答中):

在评论和沃尔夫冈的回答中使用信息,我可以拼凑解决scheme在一起,但它不是很漂亮到达那里…

ldp.exe对我来说不是很有用。 但是,我开始嗅探Outlookvalidation的服务器,并在我的查询中replace了该IP地址。 突然我得到了正确的身份validation,并使用ldapsearch -x -h <new_ip_addr> -D "Americas\John_Marshall" -W -b "dc=MyCompanyName,dc=com" 。 这个查询的结果(基本上是我们许多企业LDAP目录的原始数据转储)允许我改进-b参数(search基础)。

那么,有几件事可能是错误的:

  1. 您正在指定简单身份validation,但是您没有提供密码,也不会告诉ldapsearch从命令行收集密码。 用户John_Marshall没有密码吗? 如果他确实有一个,就必须以某种方式提供。 指定-w <passsword>-W (在提示时input密码)。

  2. 用户binddn真的是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如何configuration。 你能证实这真的是该用户的DN吗? 当您查看AD用户和计算机时,通向该用户的树项目的完整列表是什么?

  4. 如果您不指定filter,则会显示search库中所有项目的列表。 这可能是一个很长的名单。

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 ""