码迷,mamicode.com
首页 > 其他好文 > 详细

PAM <备忘>

时间:2015-08-30 17:45:12      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:pam

# 实验环境Centos 6.5 64位系统

 

1、配置文件在/etc/pam.d/ 目录下

技术分享

2、使用ldd命令查看程序是否支持PAM

ldd `which sshd` | grep -i "pam"

3、以sshd服务为例:

    技术分享

语法格式为:service    type    control    module-path    module-arguments

<可以通过 man pam.d 查看详细信息>

service:

    auth:     主要是接受用户名和密码,进而对用户的密码进行认证

    account:    主要是检查账户是否被允许登陆系统

    password:  主要是更新密码

    session:    主要是记录一些信息:opening/closing some data exchange with a user, mounting dir, etc.

type:

    required:    必须通过此认证,但是如果失败,失败的结果也不会立即通知用户,而是要等到同一stack中的所有模块全部执行完毕再将失败结果返回给应用程序。<例如,用户在登陆时,使用的用户名不存在,也不会立即提示用户名错误,而是要等输完密码后才提示,起到一定的防破解作用。>

    requisite:    与required类似,但是不同之处在于,如果返回失败,将不会再执行同一stack内的任何模块,而是直接将控制权返回给应用程序。

    sufficient:    表明本模块返回成功已经足以通过身份认证的要求,不必再执行同一stack内的其他模块,但是如果本模块返回失败的话可以忽略。

    optional:表明本模块是可选的,它的成功与否一般不会对身份认证起关键作用,其返回值一般被忽略。

    include:    包括指定的配置文件中的所有行。

module-path: 用来指定模块的路径,默认路径在 /lib64/security/ 目录 <系统不同,位置可能不同,可以通过 `rpm -ql pam` 查看pam包将模块装到了什么地方。>

module_arguments: 模块执行时候的参数,可以使用[man 模块名] 来查看详细参数。

 

4、常用模块<可以使用 man module_name 查看模块的具体使用方法和应用的位置>:

    pam_nologin.so:    如果存在/etc/nologin文件,则不允许除root外的所有普通用户登陆。

    pam_tally2.so:        用户在登陆系统时,输错密码多少次,锁定用户多长时间 (通过 man pam_tally2 查看详细信息),例如: 输错两次密码锁定用户,也包括root,锁定时间为100s

        <auth       required     pam_tally2.so    deny=2 even_deny_root unlock_time=100>

        查看当前锁定的用户: pam_tally2        手动解锁被锁定用户: pam_tally2  -u  username  -r

    pam_time.so:    指定用户在指定终端的指定时间访问指定程序。配置文件为 /etc/security/time.conf。例如:

                    sshd;*;bloke;!Al0000-0800 & Al1800-2400        

                    #在每天的零点到八点和每天的18点到24点之间不允许在任何终端登录系统。

    pam_timestamp: 和使用sudo类似,在认证成功后指定时间内不需要再次认证,默认是300s。

 

5、在设置时,需要注意顺序和type

 

 

 

PAM <备忘>

标签:pam

原文地址:http://anonxiaozi.blog.51cto.com/8139771/1689820

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!