www.nhipsongcongnghe.net
2. PAM-aware application gọi thư viện PAM để thực hiện nhiệm vụ xác thực.
3. PAM library sẽ dựa vào file cấu hình của chương trình đó trong /etc/pam.d ( vd ở đây là
login -> file cấu hình /etc/pam.d/login ) xác định loại xác thực nào được yêu cầu cho
chương trình trên. Trong trường hợp không có file cấu hình, thì file /etc/pam.d/other sẽ
được sử dụng.
4. PAM library sẽ load các module yêu cầu cho xác thực trên.
5. Các modules này sẽ tạo một liên kết tới các hàm chuyển đổi ( conversation functions )
trên chương trình.
6. Các hàm này dựa vào các modules mà đưa ra các yêu cầu với người dùng, vd chúng yêu
cầu người dùng nhập password.
7. Người dùng nhập thông tin vào theo yêu cầu.
8. Sau khi quá trình xác thực kết thúc, chương trình này sẽ dựa vào kết quả mà đáp ứng
yêu cầu người dùng ( vd cho phép login vào hệ thống ) hay thông báo thất bại với người
dùng.
4. Bây giờ chúng ta sẽ nghiên cứu file config
Listing 10-1: The /etc/pam.d/rlogin file
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth sufficient /lib/security/pam_rhosts_auth.so
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
Các dòng trong file config có dạng sau:
module-type control-flag module-path module-args
----MODULE TYPE
auth: thực hiện xác thực. Thông thường, một auth module sẽ yêu cầu password để kiểm
tra, hay thiết lập các định danh như nhóm người dùng, hay thẻ kerberos.
Account điều khiển sự kiểm tra “bề mặt” với yêu cầu xác thực. Ví dụ, nó có thể kiểm tra
người dùng truy cập dịch vụ từ một host và trong thời gian cho phép hay không.