pam模块

PAM pluggable authentication modules
由sun提出的一种认证机制。
经过提供一些动态连接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员能够灵活地根据须要给不一样的服务配置不一样的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。session

1、PAM的结构
系统管理员经过PAM配置文件来制定认证策略,即制定什么服务该采用什么样的认证方法;应用程序开发者经过在服务程序中使用PAM API而实现对认证方法的调用;而PAM服务模块(service module)的开发者利用PAM API(service module API)来编写认证模块(主要是引出一些函数pam_sm_xxxx()供libpam调用),将不一样的认证机制(好比传统的Unix认证方法、Kerberos等)加入到系统中;PAM核心库(libpam)则读取配置文件,以此为根据将服务程序和相应的认证方法联系起来。
2、PAM支持的四种管理界面:
一、认证管理(authentication management)
主要是接受用户名和密码,进而对该用户的密码进行认证,并负责设置用的一些秘密信息。
二、帐户管理(account management)
主要是检查帐户是否被容许登陆系统,帐户是否已通过期,帐户的登陆是否有时间段的限制等等。
三、密码管理(password management)
主要是用来修改用户的密码。
四、会话管理(session management)
主要是提供对会话的管理和记帐(accounting)。ide

3、PAM的文件:
/etc/pam.conf或者/etc/pam.d/PAM配置文件
/usr/lib/security/pam_*.so可动态加载的PAM service module
对于Redhat,其目录不是/usr/lib,而是/lib。函数

4、PAM的配置:
PAM的配置是经过单个配置文件/etc/pam.conf。Redhat还支持另一种配置方式,即经过配置目录/etc/pam.d/,且这种的优先级要高于单个配置文件的方式。
一、使用配置文件/etc/pam.conf
二、使用配置目录/etc/pam.d/(只适用于Redhat Linux)开发

相关文章
相关标签/搜索