如何从客户端测试 LDAP 连接

FEL*_*DAP 61 ldap pam-ldap

如何检查从客户端到服务器的 LDAP 连接。我正在处理 LDAP 身份验证,此客户端桌面需要通过 LDAP 服务器进行身份验证。我可以使用 LDAP 用户通过 SSH 连接到 LDAP 服务器,但是在桌面登录提示中,我无法登录。它说身份验证失败。

客户端机器有 Cent OS 6.3,LDAP 服务器有 Cent OS 5.5

LDAP 软件是 Openldap。

LDAP 服务器日志甚至不显示任何消息。

那么,如何测试客户端是否可以成功连接到LDAP。

Sac*_*acx 55

使用 ldapsearch。如果您无法查询 LDAP 服务器,它将返回错误。

使用 ldapsearch 的语法:

ldapsearch -x -LLL -h [host] -D [user] -w [password] -b [base DN] -s sub "([filter])" [attribute list]
Run Code Online (Sandbox Code Playgroud)

一个简单的例子

$ ldapsearch -x -LLL -h host.example.com -D user -w password -b"dc=ad,dc=example,dc=com" -s sub "(objectClass=user)" givenName
Run Code Online (Sandbox Code Playgroud)

请参阅此链接:http : //randomerror.wordpress.com/2009/10/16/quick-tip-how-to-search-in-windows-active-directory-from-linux-with-ldapsearch/

编辑:您似乎没有为 gdm/xdm 正确配置 pam,这里是一个示例,如何操作:http ://pastebin.com/TDK4KWRV

  • 使用具有正确参数的 ldapwhoami 并尝试对您的用户进行身份验证。 (2认同)

小智 8

要知道我的服务器和客户端设置是否正确,我使用以下命令:

ldapsearch -x -b "uid=username,ou=people,dc=example,dc=com"
Run Code Online (Sandbox Code Playgroud)

成功时的答案将是这样的:

# extended LDIF
#
# LDAPv3
# base <uid=username,ou=people,dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# username, people, example.com
dn: uid=username,ou=people,dc=example,dc=com
cn: User Name
uid: username
uidNumber: 1050
loginShell: /bin/bash
homeDirectory: /home/webminder
gidNumber: 1030
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
objectClass: inetOrgPerson
gecos: User Name
sn: User Name

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
Run Code Online (Sandbox Code Playgroud)

您可以使用不同的过滤器。我的网络上只有一台服务器