快速业务通道

了解和配置 PAM

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-12

插入式验证模块(Pluggable Authentication Module,PAM)API 将公开一组功能,应用程序程序员可以使用这些功能来实现与安全性相关的功能,例如用户验证、数据加密、LDAP 等.在本文中,获得在 Linux 中使用 PAM 模块的基本指南,了解如何配置 PAM,并了解如何通过 10 个简单步骤设计样例 PAM 登录应用程序.
对于 Linux 用户,安全地共享文件是一项麻烦的任务.例如,需要费力地回想多个密码,并且重新设计系统访问应用程序(如 login、su、password、ftp 等)十分耗费时间.增加这一复杂度的是验证 过程,在该过程中,系统将识别用户并为该用户提供相应的访问控制.

PAM 的使用历史记录

PAM 是关注如何为服务验证用户的 API.在使用 PAM 之前,诸如 login(和 rlogin、telnet、rsh)之类的应用程序在 /etc/passwd 中查找用户名,然后将两者相比较并验证用户输入的名称.所有应用程序使用了这些共享服务,但是并未共享实现细节和配置这些服务的权限.

接下来,应用程序开发人员尝试编写自定义过程代码.在此过程中,需要分离应用程序与安全模块(通用安全模块可以在应用程序之间共享并且可以根据需求进行配置).

PAM 机制将把多个低级别验证模式集成到高级别 API 中,该 API 将允许以独立于底层验证模式的方式编写使用验证的程序.PAM 的主要特征表现为通过 /etc/pam.d 或 /etc/pam.conf 文件实现动态验证配置.

PAM 可以被配置为拒绝某些程序对用户进行验证,或者在某些程序尝试验证时发出警告.PAM 程序将使用 PAM 模块(验证模块):这些模块在运行时与应用程序绑定在一起才能工作.

图 1 显示了 PAM 模块的基本流程.


图 1. PAM 库将解析配置文件并将模块装入其中

显示 PAM 如何处理配置文件的流程图

哪些操作系统支持 PAM?

PAM 最初是由 Sun Microsystems 于 1995 年开发的,并且以下操作系统版本(及更高版本)都提供支持:

●RedHat 5.0
●SUSE 6.2
●Debian 2.2
●Mandrake 5.2 拥有帝国一切,皆有可能。欢迎访问phome.net
●Caldera 1.3
●TurboLinux 3.6
最新版本的 Solaris™、AIX®、HP-UX 和 Mac OS® X 也支持 PAM.PAM 后来被标准化为 X/Open UNIX®标准化流程(在 X/Open 单点登录服务(XSSO)架构中)的一部分.

我可以获得哪种 PAM?

虽然没有进行严格划分,但是可以认为有三种 PAM:

1.Linux-PAM:Linux-PAM 涵盖了本文中讨论的所有 PAM.在任何一个 Linux 平台中的 PAM 的主要结构都类似于 Linux-PAM 版本.
2.OpenPAM:OpenPAM 是由 NAI 实验室的 Dag-Erling Smorgrav 开发的另一个 PAM 实现,属于 DARPA-CHATS 研究项目.它是开源的,因此它主要由 FreeBSD、NetBSD 及应用程序(加上 Mac OS X)使用.
3.Java? PAM 或 JPam:PAM 主要是支持 Linux 和 UNIX 的标准验证模块.JPam 将 Java 部分与普通 PAM 联系了起来.JPam 允许基于 Java 的应用程序使用 PAM 模块或工具(如 auth、account、passwd、session 等).它提供了 JAAS 和直接 API,并且支持大多数 Unix OS 和架构.
虽然这些是不同的 PAM,但是其主要功能仍然相同.

PAM 模块是什么样子的?

安装 PAM 是一个逐步的过程.要获得安装说明,请参阅 参考资料.

PAM 模块是按模块类型归类的.任何给定的模块至少要实现四种模块类型功能之一:

1.验证模块用于验证用户或设置/销毁凭证.
2.帐户管理模块将执行与访问、帐户及凭证有效期、密码限制/规则等有关的操作.
3.会话管理模块用于初始化和终止会话.
4.密码管理模块将执行与密码更改/更新有关的操作.
PAM 将提供不同的功能,例如单点登录验证、访问控制等.每个功能的实现都是由不同的模块处理的.下面是一些主要模块:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号