我正在将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规则。帮助!
答案 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_setcred
或pam_authenticate
调用来重置计数器值。