设为首页 收藏本站
查看: 2107|回复: 0

[经验分享] ubuntu关于pam_tally2计数器在每次sudo时都增加的bug

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-9 09:59:59 | 显示全部楼层 |阅读模式
使用pam_tally2模块来实现用户多次输入密码错误后锁住账号的需求,在/etc/pam.d/common-auth中增加pam_tally2的rule
auth        required      pam_tally2.so deny=5
配置完成后先用login或者ssh的方式验证一下,当用户错误输入密码5次后,账户都会被锁住10秒钟;账户解锁后输入正确的密码,pam_tally2的计数器清零。
查看计数器的命令如下:
pam_tally2 -u admin
显示结果如下:
pam_tally2 -u  admin  Login           Failures Latest failure     From admin               2    04/10/14 11:21:16  /dev/pts/0
但是在使用sudo的时候发现计数器不能正常清零,只要执行sudo,计数器就一直累加,不清零,除非使用命令手工清零
pam_tally2 -u admin --reset
锁定的行为也变得无章可循,执行几次后账户就会被锁住。

[admin@space-000c29c16417 root]$ sudo bash -c "echo aaa" [sudo] password for admin:  Sorry, try again. [sudo] password for admin:  Sorry, try again. [sudo] password for admin:  Sorry, try again. [sudo] password for admin:  aaa [admin@space-000c29c16417 root]$ sudo bash -c "echo aaa" [sudo] password for admin:  Sorry, try again. Your account is locked. Maximum amount of failed attempts was reached. [sudo] password for admin:可以看到我在第四次的时候已经正确输入了密码,屏幕打印出“aaa",但是当我再次输入错误密码时,我的账号还是被锁住了。查看计数器失败次数已经超过5次

#pam_tally2 -u admin Login           Failures Latest failure     From admin               6    04/10/14 11:27:14  /dev/pts/0
这个问题是redhat的一个bug,能够找到bug号,里面有一个临时解决方案,最新的sudo版本应该已经解决了这个问题
https://bugzilla.redhat.com/show_bug.cgi?id=707660

解决办法是在system-auth配置文件的account段增加下面一行配置
account     required      pam_tally2.so这样可以让计数器在每次sudo输入正确密码后清零。pam_tally2的文档这样解释:

Account phase resets attempts counter if the user is not magic root.This phase can be used optionally for services which don't call pam_setcred(3) correctly or if the reset should be done regardless of the failure of the account phase of other modules."
这个问题一个可能的原因是sudo模块在执行具体动作之前关闭了pam的session,没有正确调用pam_setcred(),导致返回失败的错误码,pam_tally2计数器累加。

这个问题是redhat的一个bug,能够找到bug号,里面有一个临时解决方案,最新的sudo版本应该已经解决了这个问题
     在common-auth配置文件的
"auth        required      pam_tally2.so deny=5"行后面加
account段增加下面一行配置
   account     required      pam_tally2.so  

补充一下发现的另一个问题:
似乎sudo和pam_tally2配合有很多问题,最近有问题说在输入错误密码5次后,账户被锁,等待超时,超时结束后第一次即使输入了正确密码,也还是提示“sorry, try again",第二次输入才通过。实验了半天,没看pam_tally的代码, 感觉似乎还是有bug,但是有解决方案,就是将后面的pam_uinx提到pam_tally前,因为它是sufficient的,所以只要通过,就不会再走pam_tally,问题解决。但是交换位置后会导致pam_tally的计数器不会清零,可能有其他副作用。
还有,之前配置有一个错误,rhel5的pam_tally不支持"no_magic_root"参数,去掉了



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-136901-1-1.html 上篇帖子: rsync同步数据到内网 下篇帖子: Linux权限管理常用命令 ubuntu 计数器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表