2016-04-23 136 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