当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux-PAM系统管理指南(1)

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 Linux-PAM系统管理指南(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 27 ::
收藏到网摘: n/a


  摘要:Linux-PAM是一组共享库,使用这些模块,系统管理者可以自由选择应用程序使用的验证机制。也就是说,勿需重新编译应用程序就可以切换应用程序使用的验证机制。甚至,不必触动应用程序就可以完全升级系统使用的验证机制
  
  1.简介
  
    Linux-PAM(Pluggable Authentication Modules for Linux.基于Linux的插入式验证模块)是一组共享库,使用这些模块,系统管理者可以自由选择应用程序使用的验证机制。也就是说,勿需重新编译应用程序就可以切换应用程序使用的验证机制。甚至,不必触动应用程序就可以完全升级系统使用的验证机制。
  
    在历史上,需要对用户进行验证的应用程序,必须同某种验证机制编译到一起。例如,传统的UN*X系统是使用密码对用户进行校验的。用户输入的密码经过crypt加密后,然后和/etc/passwd文件中的密文进行比较。在这种系统中,如果优先权的识别不是基于这种方式,就需要通过用户识别符和用户组识别符对优先权进行验证。服务和应用程序可以使用基于用户和用户组识别的验证方式。通常,用户组的分配是通过/etc/group文件。
  
    不幸的是,随着计算机速度的加快和网络的大范围普及,使用这种验证方式越来越不安全了。因此,人们开发了许多新的验证方法。
  
    Linux-PAM工程的目的就是分离应用软件和验证机制的开发。通过验证函数库可以实现上述目的。PAM库由本地的系统配置文件/etc/pam.conf或者/etc/pam.d/目录下的一些配置文件来设置。而模块以动态可加载目标文件(使用dloptn(3)函数打开)的形式保存在/usr/lib/security目录中。
  
  2.关于本文的一些说明
  
    在开始阅读本文时,你应该清楚本文假定特定的文件是在特定的目录中。我们遵照RFC-86的约定。有些Linux发布把这些文件放在不同的位置,因此如果你的系统是象RedHat之类的发布,那么你应该谨慎使用本文提供的例子。

  
    例如,本文假设PAM可加载目标文件(模块)是在/usr/lib/security/目录下,而在RedHat Linux系统中它们被放在了/lib/security目录下。因此,使用本文的例子时应该注意进行必要的转换。
  
  3.综述
  
    我们从一个例子开始讨论。首先找一个能够为用户提供服务的应用程序,login就是一个这样的程序。login要做两件事,首先查询用户,然后为用户提供所需服务,例如提供一个shell程序。
  
    通常,login会提示用户输入密码。然后对密码进行校验,这项任务就是Linux-PAM完成的。
  
    从程序员的角度看,Linux-PAM的任务就是校验用户的合法性。
  
    Linux-PAM具有很大的灵活性,系统管理者可以通过它自由选择使用的验证方式。你也可以自由选择应用程序使用的验证方式。Linux-PAM能够提供的验证方式多种多样,从绝对信任(pam_permit)到视网膜扫描、音频分析以及一次性口令,不一而足。
  
    为了描述Linux-PAM的灵活性,我们可以假想一种情况:一个系统管理者(父母)希望提高用户(他们的子女)的数学能力。他/她就可以通过一个孩子们非常喜欢的游戏“Shoot 'em up game”达成上述目的,当然前提是这个游戏能够使用PAM提供的验证机制。验证可以设置:每次孩子们要玩游戏时,都需要回答出一组小于12的随机数的乘积。这样孩子们每次玩游戏之前都可以练习乘法运算。随着他们的成长,可以增加数字的大小。
  
    Linux-PAM处理四种类型的任务:验证管理(auth)、帐户管理(account)、会话管理(session)和口令管理(password)。应用程序使用的管理方式通过相关的Linux-PAM配置文件设置。管理功能是有配置文件指定的模块完成的。
  
    应用程序X,它通过一些接口调用Linux-PAM库,而自己并不知道使用的验证方法。Linux-PAM库读出PAM配置文件的内容,根据配置文件加载程序X需要的模块。这些模块进入某个管理组并且按照配置文件设置的顺序层叠在一起。它们为应用程序执行各种验证任务。应用程序和用户之间通过conversation函数实现信息交换。
  
  3.1 入门
  
    下面是Seth Chaiklin说的一段话:
  
  从这一点来看,PAM应该工作在理想世界中,在这里所有的应用程序都没有错误。然而,事实远非如此。因此,如果你要使用PAM,需要考虑一些实际的问题。


   本篇文章共5页,此页为首页   下一页


  引用提示:
  内容页面:Linux-PAM系统管理指南(1) --- Linux
  作者:计算机基础教程网
  来源:www.ITWEN.com 计算机基础教程网
  

  版权申明: