LDAP (viết tắt của Lightweight Directory Access Protocol) là một bộ giao thức tiêu chuẩn công nghiệp, được sử dụng rộng rãi để truy cập các dịch vụ thư mục.

Dịch vụ thư mục nói một cách đơn giản là một cơ sở dữ liệu tập trung dựa trên mạng, được tối ưu hóa để truy cập đọc. Nó lưu trữ và cung cấp quyền truy cập vào thông tin phải được chia sẻ giữa các ứng dụng hoặc được phân phối cao.

Dịch vụ thư mục đóng một vai trò quan trọng trong việc phát triển mạng nội bộ và các ứng dụng Internet bằng cách giúp bạn chia sẻ thông tin về người dùng, hệ thống, mạng, ứng dụng và dịch vụ trên toàn mạng.

Một trường hợp sử dụng điển hình cho LDAP là cung cấp một bộ lưu trữ tập trung tên người dùng và mật khẩu. Điều này cho phép các ứng dụng (hoặc dịch vụ) khác nhau kết nối với máy chủ LDAP để xác thực người dùng.

Sau khi thiết lập một hoạt động LDAP máy chủ, bạn sẽ cần cài đặt các thư viện trên máy khách để kết nối với nó. Trong bài viết này, chúng tôi sẽ trình bày cách định cấu hình ứng dụng khách LDAP để kết nối với nguồn xác thực bên ngoài.

Tôi hy vọng bạn đã có một môi trường máy chủ LDAP hoạt động, nếu chưa thiết lập Máy chủ LDAP để Xác thực dựa trên LDAP.

Cách cài đặt và cấu hình ứng dụng LDAP trong Ubuntu và CentOS

Trên hệ thống máy khách, bạn sẽ cần cài đặt một số gói cần thiết để cơ chế xác thực hoạt động chính xác với máy chủ LDAP.

Định cấu hình ứng dụng LDAP trong Ubuntu 16.04 và 18.04

Trước tiên, hãy bắt đầu bằng cách cài đặt các gói cần thiết bằng cách chạy lệnh sau.

$ sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

Trong quá trình cài đặt, bạn sẽ được nhắc về các chi tiết của LDAP máy chủ (cung cấp các giá trị theo môi trường của bạn). Lưu ý rằng ldap-auth-config được cài đặt tự động thực hiện hầu hết các cấu hình dựa trên đầu vào bạn nhập.

Nhập URI máy chủ LDAP

Tiếp theo, nhập tên của cơ sở tìm kiếm LDAP, bạn có thể sử dụng các thành phần của tên miền của chúng cho mục đích này như được hiển thị trong ảnh chụp màn hình.

Nhập cơ sở tìm kiếm LDAP
Nhập cơ sở tìm kiếm LDAP

Cũng chọn phiên bản LDAP để sử dụng và nhấp vào Ok.

Chọn phiên bản LDAP
Chọn phiên bản LDAP

Bây giờ, hãy định cấu hình tùy chọn để cho phép bạn tạo các tiện ích mật khẩu sử dụng pam để cư xử giống như bạn sẽ thay đổi mật khẩu cục bộ và nhấp vào Yes để tiếp tục ..

Đặt làm quản trị cơ sở dữ liệu gốc cục bộ
Đặt làm quản trị cơ sở dữ liệu gốc cục bộ

Tiếp theo, vô hiệu hóa yêu cầu đăng nhập vào cơ sở dữ liệu LDAP bằng cách sử dụng tùy chọn tiếp theo.

Tắt Đăng nhập vào Cơ sở dữ liệu LDAP
Tắt Đăng nhập vào Cơ sở dữ liệu LDAP

Đồng thời xác định tài khoản LDAP cho người chủ và nhấp vào Ok.

Xác định tài khoản LDAP cho gốc
Xác định tài khoản LDAP cho gốc

Tiếp theo, nhập mật khẩu để sử dụng khi ldap-auth-config cố gắng đăng nhập vào thư mục LDAP bằng tài khoản LDAP cho người chủ.

Nhập mật khẩu gốc LDAP
Nhập mật khẩu gốc LDAP

Kết quả của hộp thoại sẽ được lưu trữ trong tệp /etc/ldap.conf. Nếu bạn muốn thực hiện bất kỳ thay đổi nào, hãy mở và chỉnh sửa tệp này bằng trình chỉnh sửa dòng lệnh yêu thích của bạn.

Tiếp theo, định cấu hình cấu hình LDAP cho NSS bằng cách chạy.

$ sudo auth-client-config -t nss -p lac_ldap

Sau đó, định cấu hình hệ thống sử dụng LDAP để xác thực bằng cách cập nhật cấu hình PAM. Từ menu, chọn LDAP và bất kỳ cơ chế xác thực nào khác mà bạn cần. Bây giờ bạn có thể đăng nhập bằng thông tin đăng nhập dựa trên LDAP.

$ sudo pam-auth-update
Định cấu hình Cơ chế xác thực PAM
Định cấu hình Cơ chế xác thực PAM

Trong trường hợp bạn muốn thư mục chính của người dùng được tạo tự động, thì bạn cần thực hiện thêm một cấu hình trong tệp PAM phiên chung.

$ sudo vim /etc/pam.d/common-session

Thêm dòng này vào đó.

session required pam_mkhomedir.so skel=/etc/skel umask=077

Lưu các thay đổi và đóng tệp. Sau đó khởi động lại NCSD (Name Service Cache Daemon) dịch vụ với lệnh sau.

$ sudo systemctl restart nscd
$ sudo systemctl enable nscd

Lưu ý: Nếu bạn đang sử dụng bản sao, ứng dụng LDAP sẽ cần tham chiếu đến nhiều máy chủ được chỉ định trong /etc/ldap.conf. Bạn có thể chỉ định tất cả các máy chủ trong biểu mẫu này:

uri ldap://ldap1.example.com  ldap://ldap2.example.com

Điều này ngụ ý rằng yêu cầu sẽ hết thời gian chờ và nếu Provider (ldap1.example.com) trở nên không phản hồi, Consumer (ldap2.example.com) sẽ cố gắng đạt được để xử lý nó.

Để kiểm tra các mục nhập LDAP cho một người dùng cụ thể từ máy chủ, hãy chạy getent commandVí dụ.

$ getent passwd 2error

Nếu lệnh trên hiển thị chi tiết của người dùng được chỉ định từ /etc/passwdmáy khách của bạn hiện đã được định cấu hình để xác thực với máy chủ LDAP, bạn sẽ có thể đăng nhập bằng thông tin đăng nhập dựa trên LDAP.

Định cấu hình ứng dụng LDAP trong CentOS 7

Để cài đặt các gói cần thiết, hãy chạy lệnh sau. Lưu ý rằng trong phần này, nếu bạn đang điều hành hệ thống với tư cách là người dùng quản trị không phải root, hãy sử dụng sudo command để chạy tất cả các lệnh.

# yum update && yum install openldap openldap-clients nss-pam-ldapd

Tiếp theo, cho phép hệ thống khách hàng xác thực bằng LDAP. Bạn có thể dùng authconfiglà giao diện để cấu hình tài nguyên xác thực hệ thống.

Chạy lệnh sau và thay thế example.com miền của bạn và dc=example,dc=com bộ điều khiển miền LDAP của bạn.

# authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update

Trong lệnh trên, –enablemkhomedir tạo một thư mục chính của người dùng cục bộ tại kết nối đầu tiên nếu không có.

Tiếp theo, hãy kiểm tra xem các mục nhập LDAP cho một người dùng cụ thể từ máy chủ, ví dụ: người dùng 2error.

$ getent passwd 2error

Lệnh trên sẽ hiển thị thông tin chi tiết của người dùng được chỉ định từ /etc/passwdngụ ý rằng máy khách hiện đã được định cấu hình để xác thực với máy chủ LDAP.

Quan trọng: Nếu SELinux được bật trên hệ thống của bạn, bạn cần thêm quy tắc để cho phép tạo thư mục chính tự động bằng cách mkhomedir.

Để biết thêm thông tin, hãy tham khảo tài liệu thích hợp từ Danh mục tài liệu Phần mềm OpenLDAP.

Bản tóm tắt

LDAP, là một giao thức được sử dụng rộng rãi để truy vấn và sửa đổi một dịch vụ thư mục. Trong hướng dẫn này, chúng tôi đã chỉ ra cách định cấu hình máy khách LDAP để kết nối với nguồn xác thực bên ngoài, trong máy khách Ubuntu và CentOS. Bạn có thể để lại bất kỳ câu hỏi hoặc nhận xét nào bạn có thể có bằng cách sử dụng biểu mẫu phản hồi bên dưới.