クライアントからサーバーへのLDAP接続を確認する方法。私はLDAP認証に取り組んでおり、このクライアントデスクトップはLDAPサーバー経由で認証する必要があります。 LDAPユーザーを使用してLDAPサーバーにSSH接続できますが、デスクトップログインプロンプトでログインできません。認証失敗と表示されます。
クライアントマシンにはCent OS 6.3があり、LDAPサーバーにはCent OS 5.5があります
LDAPソフトウェアはOpenldapです。
LDAPサーバーのログにはメッセージも表示されません。
したがって、クライアントがLDAPに正常に接続できるかどうかをテストする方法。
Ldapsearchを使用します。 LDAPサーバーを照会できない場合は、エラーが返されます。
Ldapsearchを使用するための構文:
ldapsearch -x -LLL -h [Host] -D [user] -w [password] -b [base DN] -s sub "([filter])" [attribute list]
簡単な例
$ ldapsearch -x -LLL -h Host.example.com -D user -w password -b"dc=ad,dc=example,dc=com" -s sub "(objectClass=user)" givenName
このリンクを参照してください: http://randomerror.wordpress.com/2009/10/16/quick-tip-how-to-search-in-windows-active-directory-from-linux-with-ldapsearch /
編集:pamがgdm/xdmのcorectllyに設定されていないようです。ここに例を示します: http:/ /Pastebin.com/TDK4KWRV
サーバーとクライアントの設定が正しいかどうかを確認するには、次のようにします。
ldapsearch -x -b "uid=username,ou=people,dc=example,dc=com"
答えは成功すると次のようなものになります:
# 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
別のフィルターを使用できます。ネットワークにサーバーが1つしかない
問題はLDAPではなく、PAMです。
前述のように Sacxの回答のコメントに コンソールログインアプリケーション(通常はPAM system
、xdm
、gdm
など)がない可能性があります。ユーザーを認証するためにLDAPを参照するように構成されたサービス。
これを設定する方法の詳細については、PAMのドキュメント を確認してください。