Linux实践工程师学习笔记十七

来源:互联网 发布:php和javascript的区别 编辑:程序博客网 时间:2024/05/22 06:20

LinuxPAM认证模块

Pluggable Authentication Modules for Linux 可插拨认证模块

当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个对应的服务文件,最后根据服务文件的内容选择具体的PAM模块进行处理。

通过ldd查看服务程序在编译时是否使用了libpam.so,决定服务程序是否支持PAM认证。

具体的pam文件放在/lib/security目录下,服务文件放在/etc/pam.d目录下

 

PAM服务文件格式

eg:

auth        required   pam_security.so

auth        required   pam_stack.so service=system-auth

service表示调用子服务文件

 

Module-type

auth        检查用户和密码,分配权限

account   检查账号是否过期,是否有权登录

session    从用户登录成功到退出的会话控制

password              控制用户改密码的过程

control-flag:

       required          要求矣须通过,否则结束退出

       requisite         如果不通过还可继续向下认证,后面有一通过即可。

       sufficient        通过则不需要向下认证

       optional          可选项

 

常用PAM服务文件

login       -------/etc/pam.d/login

ipop3d     -------/etc/pam.d/pop

vsftpd     -------/etc/pam.d/ftp(编译安装)或/etc/pam.d/vsftpdrpm安装)

sshd        -------/etc/pam.d/sshd

su           -------/etc/pam.d/su

imap              -------/etc/pam.d/imap

 

/lib/security目录下,各个pam模块的作用,可参考/usr/share/doc/pam-0.99.3.0下的帮助文件。

相同类型Module-type组成一个堆栈。

 

常用PAM模块

pam_access.so              控制访问者地址与账号名称

pam_listfile.so        控制访问者的账号名称或登录位置

pam_limits.so         控制为用户分配的资源

pam_rootok.so              对管理员(uid=0)无条件允许通过

pam_userdb.so       设定独立用户账号数据库认证

 

tty   终端设备
原创粉丝点击