pam详解
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. 思维导图