ldapsearch 针对 Active Directory 的身份验证失败 + 搜索参数错误

ldapsearch 针对 Active Directory 的身份验证失败 + 搜索参数错误

我正在使用ldapsearchOpenLDAP 工具在公司 Active Directory 中搜索我的电子邮件和电话号码。此查询是一个测试,以确保我能够针对域进行身份验证,以便我可以使用 NTLM 身份验证设置 Linux Wiki。我的理论是,如果我可以成功查询 AD 以获取信息,那么我就离让我的 Wiki 针对 AD 进行身份验证更近了一步(我已经在 ActiveDirectory 下设置 moin wiki 的说明)。

问题是我似乎无法ldapsearch正确进行查询。我在网上看到过很多教程,它们表明-D应该是这样的-D "Americas\John_Marshall";但是,当我使用时,我总是收到ldap_bind: Invalid credentials (49)错误消息Americas\John_Marshall。我唯一得到有意义的结果的时候是当我使用下面的参数进行查询时。然而,即使这样,我也不知道如何获取电子邮件和电话号码。

[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(搜索库)。

答案1

嗯,这可能有几个问题:

  1. 您指定了简单身份验证,但未提供密码,也未告诉 ldapsearch 从命令行收集密码。用户 John_Marshall 没有密码吗?如果他有密码,则必须以某种方式提供。指定-w <passsword>-W(在提示符下输入密码)。

  2. 用户的 binddn 是真的吗cn=John_Marshall,dc=Americas?在我们的 AD 中,仅作为示例,我自己的 binddn 将是“ dn: CN=Wolfgang Schulze-Zachau,CN=Users,DC=aminocom,DC=com”,即名字和姓氏之间没有下划线

  3. 可以使用“ ”的 binddn cn=John_Marshall,dc=Americas,但在我看来有点短。当然,这完全取决于您的 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 ""

相关内容