pam_tally2将成功登录记录为失败

时间:2016-06-01 13:50:22

标签: linux debian pam

我正在将debian中的/etc/pam.d/common-auth文件编辑为以下内容:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so
auth    [success=1 default=ignore]      pam_succeed_if.so user = linuxuser
auth    required                        pam_tally2.so file=/var/log/faillog onerr=fail deny=3 unlock_time=30
account required                        pam_tally2.so

所以我可以为失败的密码尝试启用帐户锁定。使用帐户user进行测试时,它会记录成功登录和不成功登录

在我的研究中,我发现了两个建议。

1)将account required pam_tally2.so添加到/etc/pam.d/common-account

2)确保/ etc / ssh / sshd_config有ChallengeResponseAuthentication no而不是ChallengeResponseAuthentication yes

我已经完成了这两项修改,但仍然遇到了这个问题。我也尝试重新排列线条,使它看起来如下:

auth    [success=1 default=ignore]      pam_succeed_if.so user = linuxuser
auth    required                        pam_tally2.so file=/var/log/faillog onerr=fail deny=3 unlock_time=30
account required                        pam_tally2.so
auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

但这也不起作用。谁知道我做错了什么?

编辑:我现在已经注意到,当以user登录时,在输入密码之前会增加计数,如果输入了正确的密码,则不会重置。我现在在common-auth和common-account文件中都有关于pam_unix.so和account required pam_tally2.so的pam_tally2规则。帮助!

2 个答案:

答案 0 :(得分:1)

解决方案是将faillog文件提供给计数器和重置行。以下是有效的:

auth    [success=1 default=ignore]      pam_succeed_if.so user = linuxuser
auth    required                        pam_tally2.so file=/var/log/faillog onerr=fail deny=3 unlock_time=30
account required                        pam_tally2.so file=/var/log/faillog
auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

答案 1 :(得分:0)

实际上pam_tally2正在计算访问尝试的次数。因此,如果尝试pam_tally2成功或失败,则计数将增加。我们可以在pam_acct_mgmt之后使用pam_setcredpam_authenticate调用来重置计数器值。