Name Service Switch (NSS) tương tự như PAM ngoại trừ việc nó chỉ cung cấp một cơ chế để lấy thông tin. Modun PADL nss_ldap có thể được lấy từ http://www.padl.com/OSS/nss_ldap.html. Việc thực hiện hiện nay có thể được sử dụng trên AIX, HP-UX, Linux, và Solaris. Mặc dù các mô-đun pam_ldap hỗ trợ FreeBSD và Mac OS 10.2
nhưng các thư viện nss_ldap thì không.
Biên dịch modun nss_ldap PADL là gần như tương tự như biên dịch pam_ldap. Các tùy chọn tương tự có sẵn các script configure (để xác định một cách rõ ràng các thư viện LDAP được sử dụng và vị trí của chúng.Sự thay đổi tối ưu hóa các thông số tìm kiếm đối với từng cơ sở dữ liệu nsswitch.conf bằng cách sử dụng parmeters * nss_base_. Nếu không, nss_ldap sẽ truy vấn cho
thực hiện:
$ ./configure --enable-rfc2307bis $ make
$ /bin/su -c "make install"
Code trên sẽ đặt một phiên bản thích hợp được đặt tên của các thư viện nss_ldap trong / lib. Ví dụ, các tập tin kết quả sẽ là / lib / libnss_ldap.so trên một máy chủ Linux và / lib / nss_ldap.so
trên Solaris.
Các mô-đun nss_ldap sử dụng cùng 1 file cấu hình / etc /ldap.conf . Các thông số cấu hình cho modun này được tóm tắt trong bảng 6-3. Trong khi cả hai pam_ldap và nss_ldap đọc các thiết lập cấu hình trong / etc / ldap.conf, các thông số bắt đầu bằng pam_ không ảnh hưởng đến nss_ldap. File / etc / ldap.conf phải được đọc được bởi bất kỳ quá trình getXbyY () khác nhau được gọi là getpwnam (jerry) hoặc getgrgid (0).
Để cấu hình một dịch vụ sử dụng các modun nss_ldap, ta thêm các từ khóa ldap với các dòng thích hợp trong tập tin etc / nsswitch.conf /. Modun NSS PADL hiện đang hỗ trợ các cơ sở dữ liệu sau đây:
passwd group hosts services networks protocols rpc ethers netgroups
các cơ sở dữ liệu sau không được hỗ trợ: netmasks
bootparams publickey automount
Một khi các thư viện chia sẻ và nss_ldap pam_ldap đã được cài đặt và / etc / ldap.conf đã được cấu hình, bạn có thể cấu hình các dịch vụ cá nhân để sử dụng các mô-đun PAM. Chúng tôi sẽ bắt đầu với SSH daemon, sshd. Dưới đây là làm thế nào để cài đặt OpenSSH (http://www.openssh.com/) trên một hệ thống Linux, trong đó sử dụng một tập tin PAM cấu hình riêng biệt cho mỗi dịch vụ. (Lưu ý rằng các hệ thống khác có thể sử dụng một tập tin PAM duy nhất cho tất cả các dịch vụ, ví dụ, Solaris sử dụng / etc / pam.conf)
Các tập tin cấu hình / etc / pam.d / sshd định nghĩa thư viện pam_ldap được sử dụng để xác thực (auth) và quản lý tài khoản (account). Kiểm tra tài khoản quản lý thư viện cho password theo các loại thuộc tính được định nghĩa cho lớp đối tượng shadowAccount và kiểm tra bất kỳ quy tắc truy cập dựa trên máy chủ . Loại phiên module được bỏ qua bởi các thư viện pam_ldap. Trong khi người dùng thay đổi mật khẩu được hỗ trợ bởi các thư viện pam_ldap, đây không phải là liên quan đến ví dụ này.
## /etc/pam.d/sshd
## PAM configuration file for OpenSSH server auth required /lib/security/pam_nologin.so auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix.so shadow nullok use_first_pass
account sufficient /lib/security/pam_ldap.so account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_unix.so nullok use_authtok shadow
session required /lib/security/pam_unix.so session optional /lib/security/pam_console.so
Việc sử dụng của cờ kiểm soát sufficient cho auth và account chỉ ra rằng xác thực bởi một mô- đun này là đủ .