1. pam概述
1.1 pam簡介
- Linux-PAM(linux可插入認證模塊)是一套共享庫,使本地系統管理員可以隨意選擇程序的認證方式。
- 也就是說,不用重新編譯一個包含PAM功能的應用程序,就可以改變它使用的認證機制。這種方式下,就算升級本地認證機制,也不用修改程序
- PAM使用配置/etc/pam.d/下的文件來管理對程序的認證方式
- 應用程序 調用相應的配置文件,從而調用本地的認證模塊;模塊放置在/lib64/security下,以加載動態庫的形式進行
- 例如使用su命令時,系統會提示輸入root用戶的密碼,這就是su命令通過調用PAM模塊實現的
1.2 查看程序是否支持pam
- pam
- pluggable authentication module 插件式認證模塊
- 通用框架,提供了與各種類型存儲進行交互的公共實現,以及多種輔助類的功能
- 認證庫(多種類型的存儲)
- 文件
- 關系型數據庫
- LDAP
- NIS
- 查看某個程序是否支持pam(例如login程序)
- ldd /bin/login | grep pam
- 如果有結果則說明支持pam認證機制
2. pam的配置文件
3. pam的常用模塊
3.1 模塊概覽
- pam_shell.so
- 檢查當前shell是否為安全的shell
- pam_limit.so
- 在用戶級別實現對其可用資源的限制
- 例如限制可打開的文件數量,可運行的進程數量,可用內存空間
- pam_access.so
- 根據主機名或者FQDN、IP地址和用戶實現全面的訪問控制
- pam_time.so
- 在不同時間、日期,終端對特定程序訪問時進行驗證
- pam_tally2.so
- 為避免暴力破解,在登錄失敗若干次后鎖定賬戶
3.2 pam模塊詳解
4. 思維導圖