当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 发信人:Sinbad<anonymous@anonymous.com> 标题:PAM入门介绍 发信站:辛巴达(FriSep2711:01:242002) 作者:netguy(netguy@nsfocus.com) 主页:http://www.nsfocus.com 日期:20...
 

 

 ·一个find的问题    »显示摘要«
    摘要: find / -name "passwd" -print 和 find / -name passwd -print 有什么区别,谢谢 lihuc 回复于:2003-11-21 17:40:22 ding race 回复于:2003-11-21 20:44:18 一样 nanaskylead 回复于:2003-11-21 21:18:08 没区别 s......
 ·fdfs的疑问`    »显示摘要«
    摘要: file descriptor是个什么东西```~ 举例说下~~~~~ 谢谢~~~~~~~ iricyan 回复于:2003-11-19 23:42:13 0 1 2 红头发 回复于:2003-11-20 06:45:54 whut? 012? guchengman 回复于:2003-11-20 18:33:04 0是标准输出, 1是标准输入. 2是标准......


PAM入门介绍[zt]

发信人: sinbad <anonymous@anonymous.com> 【程序编程相关:unix精彩问答一

【推荐阅读:sco openserver老树发新芽:

标  题: pam入门介绍 【扩展信息:安装sco unix提示memory e

发信站: 辛巴达 (fri sep 27 11:01:24 2002)

作者:netguy (netguy@nsfocus.com)

主页:http://www.nsfocus.com

日期:2000-10-07

pam(pluggable authentication modules )是由sun提出的一种认证机制.它通过提供一些

动态链接库与一套统一的api,将系统提供的服务 与该服务的认证方式分开,使得系统管理

员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于

向系 统中添加新的认证手段.

pam最初是集成在solaris中,目前已移植到其它系统中,如linux.sunos.hp-ux 9.0等.

一.pam的结构

pam的整个框架结构如下图所示:

系统管理员通过pam配置文件来制定认证策略,即指定什么服务该采用什么样的认证方法;应

用程序开发者通过在服务程序中使用pam api而实现对认证方法的调用;而pam服务模块(se

rvice module)的开发者则利用pam spi(service module api)来编写认证模块(主 要是

引出一些函数pam_sm_xxxx( )供libpam调用),将不同的认证机制(比如传统的unix认证方

法.kerberos等)加入到系统中;pam核 心库(libpam)则读取配置文件,以此为根据将服

务程序与相应的认证方法联系起来.

二.pam支持的四种管理界面:

1.认证管理(authentication management)

    主要是接受用户名与密码,进而对该用户的密码进行认证,并负责设置用户的一些秘密

信息.

2.帐户管理(account management)

    主要是检查帐户是否被允许登录系统,帐号是否已经过期,帐号的登录是否有时间段的

限制等等.

3.密码管理(password management)

    主要是用来修改用户的密码.

4.会话管理(session management)

    主要是提供对会话的管理与记账(accounting).

三.pam的文件:

      /usr/lib/libpam.so.*                  pam核心库

/etc/pam.conf或者/etc/pam.d/          pam配置文件

/usr/lib/security/pam_*.so            可动态加载的pam service module

      对于redhat,其目录不是/usr/lib,而是/lib.

四.pam的配置:

pam的配置是通过单个配置文件/etc/pam.conf.redhat还支持另外一种配置方式,即通过配

置目录/etc/pam.d/,且这种的优先级要高于单 个配置文件的方式.

1.使用配置文件/etc/pam.conf

该文件是由如下的行所组成的:

service-name  module-type  control-flag  module-path  arguments

service-name 服务的名字,比如telnet.login.ftp等,服务名字“other”代表所有没有

在该文件中明确配置的其它服务.

module-type  模块类型有四种:auth.account.session.password,即对应pam所支持的

四种管理方式.同一个服务可以调用多个 pam模块进行认证,这些模块构成一个stack.

control-flag 用来告诉pam库该如何处理与该服务相关的pam模块的成功或失败情况.它有四

种可能的 值:required,requisite,sufficient,optional.

    required 表示本模块必须返回成功才能通过认证,但是如果该模块返回失败的话,失败

结果也不会立即通知用户,而是要等到同一stack 中的所有模块全部执行完毕再将失败结果

返回给应用程序.可以认为是一个必要条件.

    requisite 与required类似,该模块必须返回成功才能通过认证,但是一旦该模块返回

失败,将不再执行同一stack内的任何模块,而是直 接将控制权返回给应用程序.是一个必

要条件.注:这种只有redhat支持,solaris不支持.

    sufficient 表明本模块返回成功已经足以通过身份认证的要求,不必再执行同一stack


...   下一页
    摘要: sun常用的诊断命令和工具(简介) [size=18:bbea06b9f2]adb [/size:bbea06b9f2] analyze dumps and a running system. [size=18:bbea06b9f2]answerbook[/size:bbea06b9f2] display online reference manuals in areas of hardwa......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE