我在多台 PC 上运行 Debian buster。我使用该pam_tally2
模块为系统添加了一些安全性。我在ssh
桌面登录上进行了测试,效果非常好。
因此,为了获得额外的安全层,一旦所有 PC 都受到 PAM 保护,我更改了用户密码。
之后一切都很好,直到我重新启动系统。每次重新启动系统或注销并登录时;然后我什至在尝试登录之前就尝试了 5 次或 10 次或任何其他次数的失败尝试。这让我退出了系统,我只能通过使用另一个帐户(或root
)进入系统并编辑/etc/pam.d/common-auth
以登录来修复它在。
作为临时解决方案,我将尝试次数增加到20次,这样每次都能登录。
但是,要么我做错了什么,要么这是模块中的错误。
从我这边来看,我只编辑了common-auth
添加此行的文件
auth required pam_tally2.so onerr=fail deny=3 unlock_time=600 audit
在主块中,产生此auth
列表
auth required pam_tally2.so onerr=fail deny=5 unlock_time=1200
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
任何想法或意见将不胜感激!
第二次编辑系统要求解释为什么这不是重复的“为什么此 PAM 代码会阻止所有登录 Debian 系统?”
- 我已经在堆栈顶部的列表中包含了 pam_tally2 。
- 另外,一旦我成功登录,计数器就设置为零
- 修改账号密码后才出现此问题
- 其他账号登录系统没有问题(密码未更改)
答案1
在 debian buster 中,tally2 已经是系统的一部分,但不会阻止任何内容,除非用户更改设置。这非常容易。您只需要编辑 1 个文件:
sudo nano /etc/pam.d/common-auth
您必须添加两行。其中必须是注释后的第一行 #here are the per-package module add:
‘auth required pam_tally2.so onerr=fail deny=n unlock_time=m audit’
其中 n 是在阻止帐户之前允许的登录尝试次数。通过阻止,您仍然可以尝试登录,但即使输入正确的密码,系统也不会登录。 m 是帐户被锁定的秒数。之后,如果输入正确的密码,就可以登录。
第二行可以添加为文件的最后一行。每次尝试登录失败或在锁定时间内,tally2 都会统计尝试登录的次数。如果该数字 >n,则系统处于锁定状态。然而,要在使用正确的密码登录后将计数器设置为 0,您必须告诉系统:
需要帐户 pam_tally2.so
添加这两行就可以了