下载后可任意编辑The Linux-PAM 系统管理员指南作者:Andrew G. Morgan, morgan@linux.kernel.org翻译:孙国清(Thomas Sun),thomassun@yeah.netDRAFT v0.71 1999/11/8 这个文档所涉的是系统管理员须知的关于 Linux-PAM 库的知识. 它涉及了设置 PAM 的正确语法并讨论维护一个可靠系统的正确的策略.1. 介绍Linux-PAM (Linux 下的可插入式认证模组) 是一套共享函数库,允许系统管理员来决定应用程式如何识别用户.换句话说,就是用不着(重写和)重新编译一个(支援 PAM 的)程式,就可以切换它所用的认证机制. 你可以整个的升级你的认证系统而不用去管应用程式本身.传统上,当一个应用程序有身份识别的需求,它就不得不把某一种验证算法写进去. 例如,就传统的 UN*X 系统而言,核对使用者身份的方法就是要求用户输入正确的密码. 这密码,除了开头的两个字符作为"salt",剩下的是加密过的(经由 crypt(3)). 接著用户被验证这个加密过的密码是否与他在密码档(就是/etc/passwd 文件)中他的那笔记录的第二栏相符.在这样的系统里,绝大部份权限的授予是基于这种单一的认证机制. 权限决定于个人的识别码(uid)和不同群组的成员.服务和程式是否可用由个人和群组的识别码决定.传统上,群组关系经由/etc/group 文件中的记录来给予.不幸的是,随着计算机速度的不断提高,再加上满世界的关于网路计算的介绍,使得象这样曾是安全的验证机制,变得易受攻击了.面对这样的现实,新的验证方法正在持续的开发中.Linux-PAM 项目的目标是把赋权部分的开发以可靠的合适的鉴定模式从软件中分离出来。这目标已经通过提供一组库函数实现了,应用程序可以用这些函数来请求验证某个用户。这个 PAM 由特定的系统文件配置,/etc/pam.conf (或者是在/etc/pam.d/里的一系列配置文件) 以经由特定的可用的认证模组来鉴定某个用户的请求。 这些个模组通常位于/usr/lib/security 目录并且以可动态加载的目标文件的形式出现(参见 dlopen(3)).2. 文中的说明在继续阅读之前, 请记住本文假定提到的文件位于默认的目录。这个默认的目录我们遵循 RFC(RFC-86.0,见 bibliography)中的约定。假如你正用一个支持 PAM 但是却选择以不同的方式发布这些文件的发布版的 Linux(或是其他的 OS) (Red Hat 就是这样的发布版), 那你从文章中直接拷贝例子的时候就要注意一下了.举个例子, where it is explicit, 本文假定 PAM 可加载目标文件(就是 模块)位于这个目录: /usr...