xdays

Linux-PAM

概述

Linux-PAM (Pluggable Authentication Modules for Linux)是一套供管理员选择的用来验证应用程序用户的共享库,它把权限控制与应用程序分离,你可以随意更改认证方式而不需要重新编译程序,具有很好的灵活性和课拓展性。

组成组件

  • 模块文件:/lib/security/*
  • 模块配置文件:/etc/security/*
  • PAM配置文件:/etc/pam.conf和/etc/pam.d/*
  • 一些PAM相关命令如pam-auth-update等

PAM运行原理

 +----------------+
  | application: X |
  +----------------+       /  +----------+     +================+
  | authentication-[---->--\--] Linux-   |--<--| PAM config file|
  |       +        [----<--/--]   PAM    |     |================|
  |[conversation()][--+    \  |          |     | X auth .. a.so |
  +----------------+  |    /  +-n--n-----+     | X auth .. b.so |
  |                |  |       __|  |           |           _____/
  |  service user  |  A ...