2016-04-23 137 views
0

我的目标是从命令行测试LDAP身份验证。我尝试使用ldapsearchldapsearch - 无效凭证

我使用Centos 6.7

即使我用正确的凭据,下面的命令失败

[[email protected] html]# ldapsearch -x -h localhost -p 3389 -b "uid=john.martin,ou=Users,dc=company,dc=com" -W 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49) 

以下命令工作正常,没有密码字段。

ldapsearch -x -h localhost -p 3389 -b "uid=john.martin,ou=Users,dc=company,dc=com" 

在尝试提供密码时有什么我想念的吗?我可以请求帮助来找出问题吗?

修订

这里有一个用户帐户

ldapsearch -x -h 127.0.0.1 -p 3389 -b "ou=Users,dc=company,dc=com" -s sub | more 

# john.martin, Users, company.com 
dn: uid=john.martin,ou=Users,dc=company,dc=com 
uid: john.martin 
objectClass: account 
objectClass: posixAccount 
objectClass: top 
objectClass: shadowAccount 
objectClass: ldapPublicKey 
shadowLastChange: 13306 
shadowMax: 99999 
shadowWarning: 7 
loginShell: /bin/bash 
uidNumber: 509 
homeDirectory: /home/john.martin 
mail: [email protected] 
gecos: john martin 
sshPublicKey:: some key 
gidNumber: 87 
cn: John Martin 

这里的该结构的搜索特定cn

ldapsearch -h 127.0.0.1 -p 3389 -x -b "dc=company,dc=com" "(&(objectClass=posixGroup)(cn=member_of_this_group))" 

# extended LDIF 
# 
# LDAPv3 
# base <dc=company,dc=com> with scope subtree 
# filter: (&(objectClass=posixGroup)(cn=member_of_this_group)) 
# requesting: ALL 
# 

# member_of_this_group, groups, company.com 
dn: cn=member_of_this_group,ou=groups,dc=company,dc=com 
objectClass: posixGroup 
objectClass: top 
cn: member_of_this_group 
description:: some characters bla bla 
memberUid: john.martin 
memberUid: kyle.miller 
memberUid: robert.dangie 
memberUid: smith.collins 
memberUid: ian.bell 
gidNumber: 54787 

# search result 
search: 2 
result: 0 Success 

# numResponses: 2 
# numEntries: 1 
+0

你缺少的是正确的密码。也许该帐户没有一个。 – EJP

+0

你好 - 谢谢。该帐户确实有密码。当我使用用户名尝试ssh到服务器时,它确实接受密码。这是一个LDAP认证。但是,当我尝试LDAP搜索时,它不接受相同的密码 – usert4jju7

回答

2

的查询时,您不会提示输入密码比客户端将执行一个匿名绑定(这就是为什么你没有看到在没有p的例子中的错误rompt为密码字段)。

在第一个示例中,请记住-b参数设置搜索基准而不是绑定DN。您需要使用-D参数(对于绑定DN)。这可能听起来令人困惑,但ldapsearch命令行工具本质上执行LDAP BIND,然后是LDAP搜索(因此有两个参数)。

+0

谢谢Bertold。我尝试了以下两件事 - “ldapsearch -x -h localhost -p 3389 -D”uid = john.martin,ou = Users,dc = company,dc = com“-W',它仍然抱怨无效凭证。 'ldapsearch -x -h localhost -p 3389 -D“uid = john.martin,ou = Users,dc = company,dc = com”'抛出未经身份验证的绑定(不带密码的DN)不允许'。还有什么我可以放弃一下吗? – usert4jju7

+1

你是绑定DN正确的用户吗?在'ou = Users'中是'john.martin',还是在** cn = Users **中?如果LDAP服务器在绑定DN实际上不存在的情况下返回无效凭据,这是正常的。 –

+0

谢谢Bertold。是的,用户存在。我已经更新了'UPDATED'部分的问题中的一些细节。你可以看一下吗? – usert4jju7