Cách kiểm tra kết nối LDAP từ máy khách


47

Cách kiểm tra kết nối LDAP từ máy khách đến máy chủ. Tôi đang làm việc trên xác thực LDAP và máy tính để bàn của khách hàng này cần xác thực thông qua máy chủ LDAP. Tôi có thể SSH đến máy chủ LDAP bằng người dùng LDAP nhưng khi ở dấu nhắc đăng nhập trên máy tính để bàn, tôi không thể đăng nhập. Nó nói xác thực thất bại.

Máy khách có Cent OS 6.3 và máy chủ LDAP có Cent OS 5.5

Phần mềm LDAP là Openldap.

Nhật ký máy chủ LDAP thậm chí không hiển thị bất kỳ thông báo nào.

Vì vậy, làm thế nào để kiểm tra xem máy khách có thể kết nối thành công với LDAP hay không.


2
Là một lưu ý nhỏ cho bài đăng cũ này, bạn có thể thực hiện tìm kiếm (ví dụ: ldapsearch) khi thiết lập PAM, nhưng để người dùng tự động xác thực thông qua LDAP, bạn sẽ cần thiết lập PAM cho LDAP. Một ldapsearch cơ bản chỉ cho thấy bạn đã cài đặt các gói công cụ máy khách và lib ldap (ví dụ: yum cài đặt openldap openldap-client) và có thể truy cập (các) máy chủ thư mục LDAP. Đây là một bước tốt trong quá trình thiết lập hoặc xử lý sự cố.
Ernie

Câu trả lời:


44

Sử dụng ldapsearch. Nó sẽ trả về lỗi nếu bạn không thể truy vấn Máy chủ LDAP.

Cú pháp sử dụng ldapsearch:

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

Một ví dụ đơn giản

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

Vui lòng xem liên kết này: http://randomerror.wordpress.com/2009/10/16/quick-tip-how-to-search-in-windows-active-directory-from-linux-with-ldapsearch/

Chỉnh sửa : Có vẻ như bạn không có cấu hình pam corectlly cho gdm / xdm, đây là một ví dụ về cách thực hiện: http://pastebin.com/TDK4KWRV


Tôi đang sử dụng lệnh này: ldapsearch -h hostname -x -b "dc = example, dc = com" 'uid = user' và nó trả về thông tin người dùng đó từ cơ sở dữ liệu LDAP. Nhưng tôi không thể đăng nhập vào máy tính để bàn thông qua xác thực LDAP.
FELDAP

Nếu máy chủ của bạn không có bất kỳ lỗi nào, thì có lẽ là từ máy khách của bạn. Vui lòng xem trên auth.log và xem những gì có liên quan đến ldap.
Sacx

Vâng, tôi đoán đó là khách hàng. Nó thậm chí không tìm kiếm máy chủ LDAP. Cần làm gì để khiến máy khách tra cứu máy chủ LDAP để xác thực? Tôi đã chỉnh sửa /etc/pam.d/system-auth. Bạn có thể kiểm tra tại đây: pastebin.com/jQjN7cYU
FELDAP

1
Sử dụng ldapwhoami với các tham số chính xác và cố gắng xác thực với người dùng của bạn.
Sacx

Bạn có làm theo hướng dẫn để chuẩn bị máy khách để xác thực gdm / xdm không?
Sacx

5

Để biết cài đặt máy chủ và máy khách của tôi có đúng không, tôi sử dụng:

ldapsearch -x -b "uid=username,ou=people,dc=example,dc=com"

câu trả lời sẽ giống như thế này khi thành công:

# 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

bạn có thể sử dụng các bộ lọc khác nhau. Tôi chỉ có một máy chủ trên mạng của mình


3

Vấn đề của bạn không phải là LDAP, đó là PAM.

Như đã đề cập trong các ý kiến về câu trả lời Sacx của bạn có lẽ không có ứng dụng giao diện điều khiển đăng nhập (thường là PAM system, xdm, gdmvv dịch vụ (s)) cấu hình để tham khảo ý kiến LDAP để xác thực người dùng.

Bạn nên xem lại tài liệu PAM để biết thêm thông tin về cách thiết lập tài liệu này .


Tôi đã cấu hình các tập tin đó, nhưng nó không hoạt động. Bạn có thể kiểm tra các tập tin tôi đã đăng trong các ý kiến ​​trên. LDAP thực sự thiếu tài liệu của nó.
FELDAP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.