【信息安全】PAM模块的研究(一)

    PAM,即Pluggable Authentication Modules(可插入式身份验证模块)最初是由Sun 公司发明的,Sun 把它作为一种验证用户身份的灵活方法。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系 统中添加新的认证手段。PAM 最初是集成在Solaris 中,目前已移植到其它系统中,如LinuxSunOSHP-UX 9.0 等。

    多年以来,UNIX 环境下的身份验证机制一直就是简单地把用户同他们在/etc/passwd 文件里的配置项关联起来而已。后来,因为需要有更强的安全性,而且要支持更大范围的验证机制(像智能卡),所以对灵活性更好的验证方法的需求也就应运而生。某些PAM LDAP 模块对全局的验证目录集中执行验证。

Linux-PAM

所有完善的Linux 发行版本都带Linux-PAM,它和Sun 公司PAM 标准目前的实现没有关系。PAM的概念很简单:需要验证功能的程序只需要知道有一个模块可以用来替它们执行验证功能就行了。PAM 的设置保证了模块可以随时添加、删除和重新配置—对于编译工具程序的时候就被链接进来(甚至原本就有)

的模块来说,没必要这样做。这种结构的效果就是,PAM 已经成为系统管理员极其强大的工具。

PAM 模块是通过/etc/pam.conf 文件或者/etc/pam.d 目录下的文件来进行配置的。当目录/etc/pam.d/下存在文件时,Linux-PAM 会忽略/etc/pam.conf 文件。

先看下pam.conf 文件的格式:

service_name module_type control_flag module_path arguments

Service_name 服务/进程名

指定服务/应用程序的名称(默认值为 OTHER)。

Module_type 模块类型为 Service_name 字段中的服务指定模块类型,有效的类型是auth/account/session passwd

Control_flag 控制标志将指定模块的堆栈行为。控制标志可以是requisiterequiredsufficient 或 optional

Module_path 将指定实现模块的库对象的路径名称。默认情况下,它将被设为 /lib/security

Module_options/module_args(可选字段)将指定可以传递给服务模块的选项或实参。



----------------------------------------------------
kingsql冲级大奉送
hongzhuohui@kingsql.com

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28389881/viewspace-1266665/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28389881/viewspace-1266665/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值