认证与数据签名技术全解析
1. PAM 概述
随着新的存储方法和服务的出现,登录过程需要进行改进以适应新的认证方式,由此诞生了可插拔认证模块(Pluggable Authentication Modules,PAM)。PAM 的开发者通过让后端使用一组可单独堆叠和配置的插件来编写认证过程,为未来的认证管理提供了一种灵活的方式。
开发者可以链接 PAM 库,使应用程序能够以与操作系统相同的方式透明地认证用户,无论是使用 /etc/passwd 文件、LDAP、NIS 还是其他方式。此外,还可以开发自定义的 PAM 模块,提供从自定义登录和注销功能到强制选择强密码等各种功能。目前,已经存在用于 LDAP、Oracle、MySQL 等的 PAM 模块,并且这些模块都在积极维护和开发中。
2. PAM 库的使用
使用 PAM 库创建使用 PAM 进行认证的应用程序相对简单。通过使应用程序支持 PAM,可以利用 PAM 的认证、会话管理和密码处理功能。结合之前的 SSL 代码和下面的 PAM 示例,可以创建一个能够使用 PAM 允许的任何方式(包括 LDAP)对客户端进行认证的服务器。
大多数 GNU/Linux 发行版默认包含 PAM。PAM 的配置相当简单,通常所有配置都维护在一个文件 /etc/pam.conf 中。虽然这里不详细讨论 PAM 的配置,但为了使示例能够正确编译和运行,需要安装并确保 PAM 正常工作。
3. 对话函数
在应用程序中使用 PAM 库与使用其他库略有不同,因为不仅我们的代码会调用库函数,库也会调用我们代码中的一
超级会员免费看
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



