Linux-PAM認證模組
Pluggable Authentication Modules for Linux 可插撥認證模組
當使用者訪問伺服器,服務程式將請求發送到PAM模組,PAM模組根據服務名稱在/etc/pam.d目錄下選擇一個對應的服務檔案,最後根據服務檔案的內容選擇具體的PAM模組進行處理。
通過ldd查看服務程式在編譯時間是否使用了libpam.so,決定服務程式是否支援PAM認證。
具體的pam檔案放在/lib/security目錄下,服務檔案放在/etc/pam.d目錄下
PAM服務檔案格式
eg:
auth required pam_security.so
auth required pam_stack.so service=system-auth
service表示調用子服務檔案
Module-type:
auth 檢查使用者和密碼,分配許可權
account 檢查帳號是否到期,是否有權登入
session 從使用者登入成功到退出的會話控制
password 控制使用者改密碼的過程
control-flag:
required 要求矣須通過,否則結束退出
requisite 如果不通過還可繼續向下認證,後面有一通過即可。
sufficient 通過則不需要向下認證
optional 可選項
常用PAM服務檔案
login -------/etc/pam.d/login
ipop3d -------/etc/pam.d/pop
vsftpd -------/etc/pam.d/ftp(編譯安裝)或/etc/pam.d/vsftpd(rpm安裝)
sshd -------/etc/pam.d/sshd
su -------/etc/pam.d/su
imap -------/etc/pam.d/imap
/lib/security目錄下,各個pam模組的作用,可參考/usr/share/doc/pam-0.99.3.0下的協助檔案。
相同類型Module-type組成一個堆棧。
常用PAM模組
pam_access.so 控制訪問者地址與帳號名稱
pam_listfile.so 控制訪問者的帳號名稱或登入位置
pam_limits.so 控製為使用者指派的資源
pam_rootok.so 對管理員(uid=0)無條件允許通過
pam_userdb.so 設定獨立使用者帳號資料庫認證
tty 終端裝置