Thi*_*his 3 openldap active-directory ldap
我正在使用ldapsearch
OpenLDAP 工具在我们的公司 Active Directory 中搜索我的电子邮件和电话号码。此查询是一项测试,以确保我可以针对域进行身份验证,以便我可以使用 NTLM 身份验证设置 linux wiki。我的理论是,如果我可以成功查询 AD 信息,那么我离让我的 wiki 对 AD 进行身份验证更近了一步(我有在 ActiveDirectory 下设置 moin wiki 的说明)。
问题是我似乎无法ldapsearch
正确查询。我在网上看到很多教程都表明-D
应该是这样的-D "Americas\John_Marsharll"
;但是,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 ~]$
Run Code Online (Sandbox Code Playgroud)
有人可以给我指出我在ldapsearch
上面的查询中做错了什么吗?我们的 AD ldap 服务器是 10.1.1.1,AD 域是“Americas”。
使用评论中的信息和沃尔夫冈的回答,我能够将解决方案拼凑在一起,但并不是很顺利......
ldp.exe
对我来说不是很有用;但是,我开始嗅探 Outlook 对其进行身份验证的服务器,并在我的查询中替换了该 IP 地址。突然间,我获得了正确的身份验证,并使用ldapsearch -x -h <new_ip_addr> -D "Americas\John_Marshall" -W -b "dc=MyCompanyName,dc=com"
. 这个查询的结果(基本上是我们大部分公司 LDAP 目录的原始数据转储)允许我优化-b
参数(搜索基础)。
好吧,这有一些可能是错误的:
您指定了简单的身份验证,但没有提供密码,也没有告诉 ldapsearch 从命令行收集密码。用户 John_Marshall 没有密码吗?如果他确实有一个,则必须以某种方式提供。指定-w <passsword>
或-W
(在提示时输入密码)。
用户真的被绑定了cn=John_Marshall,dc=Americas
吗?在我们的 AD 中,仅作为示例,我自己的 binddn 将是“ dn: CN=Wolfgang Schulze-Zachau,CN=Users,DC=aminocom,DC=com
”,即名字和姓氏之间没有下划线
" cn=John_Marshall,dc=Americas
"的绑定是可能的,但对我来说看起来有点短。当然,这一切都取决于您的 AD 是如何配置的。您能否验证这确实是该用户的 DN?当您查看 AD 用户和计算机时,通向该用户的树项目的完整列表是什么?
如果您不指定过滤器,您将获得搜索库中所有项目的列表。那可能是一个很长的清单。
正确的咒语是:
[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 ""
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18338 次 |
最近记录: |