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

 

posted @ 2020-08-21 16:52  Praywu  阅读(1543)  评论(0编辑  收藏  举报