linux pam模块篇(1)_pam_tally2模块
PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系 统中添加新的认证手段。从本篇开始会总结一些常用的pam模块及其实现的功能,今天讲的是pam_tally2模块。
一、参数与场景
应用场景:设置Linux用户连续N次输入错误密码进行登陆时,自动锁定X分钟或永久锁定(这里的永久锁定指除非进行手工解锁,否则会一直锁定)。
配置格式:
1pam_tally2.so [file=/path/to/counter] [onerr=[fail|succeed]] [magic_root] [even_deny_root] [deny=n] [lock_time=n] [unlock_time=n]
2 [root_unlock_time=n] [serialize] [audit] [silent] [no_log_info]
参数相关:
1、全局参数
- file 用于指定统计次数存放的位置,默认保存在/var/log/tallylog文件中;
- onerr 当意外发生时,返加PAM_SUCCESS或pam错误代码,一般该项不进行配置;
- audit 如果登录的用户不存在,则将访问信息写入系统日志;
- silent 静默模式,不输出任何日志信息;
- no_log_info 不打印日志信息通过syslog
上面的五项全局参数,一般在使用中都不需要单独配置。
2、认证选项
- deny 指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。
- lock_time 锁定多长时间,按秒为单位;
- unlock_time 指定认证被锁后,多长时间自动解锁用户;
- magic_root 如果用户uid=0(即root账户或相当于root的帐户)在帐户认证时调用该模块发现失败时,不计入统计;
- no_lock_time 不使用.fail_locktime项在/var/log/faillog 中记录用户 ---按英文直译不太明白,个人理解即不进行用户锁定;
- even_deny_root root用户在认证出错时,一样被锁定(该功能慎用,搞不好就要单用户时解锁了)
- root_unlock_time root用户在失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的。
二、使用示例
1、示例:
1auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
最多连续三认认证登录都出错时,5秒后解锁,root用户也可以被锁定,root用户10秒后解锁。
- /etc/pam.d/login中配置只在本地文本终端上做限制;
- /etc/pam.d/kde在配置时在kde图形界面调用时限制;
- /etc/pam.d/sshd中配置时在通过ssh连接时做限制;
- /etc/pam.d/system-auth中配置凡是调用 system-auth 文件的服务,都会生效。
以下是pam_tally2的man手册中,给出的一个pam下的login调用该模块的示例:
1auth required pam_securetty.so
2auth required pam_tally2.so deny=4 even_deny_root unlock_time=1200
3auth required pam_env.so
4auth required pam_unix.so
5auth required pam_nologin.so
6account required pam_unix.so
7password required pam_unix.so
8session required pam_limits.so
9session required pam_unix.so
10session required pam_lastlog.so nowtmp
11session optional pam_mail.so standard
注:pam_tally2与pam_tally模块的区别是前者增加了自动解锁时间的功能,后者没有。所以在老的发行版中,如果使用了pam_tally模块时,可以使用pam_tally 、faillog配合crontab 进行自动解锁。
2、解锁与查看失败
可以通过以下指令查看361way用户登录的错误次数及详细信息:
1pam_tally2 --user 361way
可以通过以下命令清空361way用户的错误登录次数,即手动解锁:
1pam_tally2 --user 361way --reset
同样,使用faillog -r命令也可以进行解锁。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/pam-tally2/4277.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.