我见过这个问题在 AskUbuntu 上查看有关监控锁屏的信息。但是,想象一下有一个加密驱动器 + 主分区。当您登录时,两者都已安装并可用。
问题是,据我所知,尝试次数是没有限制的。我如何才能监听不成功的尝试,并在 N 次尝试后关闭机器,这样我就可以防止任何可能通过简单的字典攻击(例如朋友/访问/...)在锁定屏幕上针对我的存储采取的进一步行动?
有没有办法监听通过 tty 进行的不成功尝试?例如,如果有人尝试通过 tty1 登录两次,通过 tty2 登录一次(即所有尝试 3 次的总和),是否也关闭机器?
答案1
有多个 PAM 模块可以限制一段时间内的尝试次数,例如pam_tally2
在大多数 Linux 发行版上均可用。
您还可以创建自定义 PAM 模块,使用 C 语言或使用pam_exec
来运行自定义 shell 脚本。例如,如果 PAM 堆栈如下所示:
(...)
auth [success=1 new_authtok_reqd=ok default=bad] pam_unix.so
auth optional pam_exec.so /usr/local/bin/count-or-shutdown.sh
(...)
那么每次成功的密码输入都会跳过 pam_exec 行,但每次失败的登录都会执行它。