第 10 章 使用可插拔验证模块(PAM)
可插拔验证模块 (PAM)是身份验证和授权的通用框架。Red Hat Enterprise Linux 中的大多数系统应用程序依赖于底层 PAM 配置进行身份验证和授权。
10.1. 关于 PAM
可插拔验证模块(PAM)提供集中式身份验证机制,系统应用可以使用此机制将身份验证中继到集中配置的框架。
PAM 可插拔,因为存在用于不同类型的身份验证源(如 Kerberos、SSSD、NIS 或本地文件系统)的 PAM 模块。可以优先使用不同的身份验证源。
此模块化架构为管理员提供了很大的灵活性来为系统设置身份验证策略。PAM 对开发人员和管理员而言是有用的系统,原因如下:
- PAM 提供一种常见身份验证方案,可用于各种应用。
- PAM 为系统管理员提供了对身份验证的显著灵活性和控制力。
- PAM 提供单个全文档库,允许开发人员编写程序,而无需创建自己的身份验证方案。
10.1.1. 其他 PAM 资源
PAM 有一个丰富的文档集,其中更详细地说明了使用 PAM 和编写模块来扩展或集成 PAM 与其他应用程序。使用 PAM 的几乎所有主要模块和配置文件都有其自己的 man page。另外,
/usr/share/doc/
pam-
version#
/ 目录包含 系统管理员指南、Module Writers' Manual 和 Application Developers 的 Manual,以及 PAM 标准 DCE-RFC 86.0 的副本。
PAM 的库位于: http://www.linux-pam.org这是 Linux-PAM 项目的主要发行网站,包含有关各种 PAM 模块的信息、常见问题和其他 PAM 文档。
10.1.2. 自定义 PAM 模块
可以随时创建新的 PAM 模块,供 PAM 感知型应用程序使用。感知 PAM 的程序可以立即使用新模块及其定义的任何方法,而无需重新编译或修改。这使得开发人员和系统管理员能够为不同的程序使用一系列身份验证模块和测试,无需重新编译它们。
有关编写模块的文档包含在
/usr/share/doc/pam-devel-
version#
/
目录中。