我到处搜索过,人们说的是你必须nodelay
向pam_unix.so
in提供参数/etc/pam.d/system-auth
以消除延迟。我尝试这样做,但没有成功。我什至添加到文件夹中的nodelay
每个文件,但它也不起作用。当这不起作用时,我尝试添加这一行:in并且它也不起作用。另一方面,如果我将延迟设置为超过 3 秒,则会增加延迟,但低于 3 秒则不起作用。我真的很困惑,如果有人能回答我,我将不胜感激。pam_unix.so
/etc/pam.d/
auth optional pam_faildelay.so delay=0
/etc/pam.d/system-auth
我还尝试将我的 FAIIL_DELAY 更改为 0,/etc/login.defs
但这也不起作用。最后,我在文件中查找了该auth required pam_unix.so try_first_pass nullok
行/etc/pam.d/system-auth
,但甚至找不到该行。最接近的一行是这一行:auth [success=2 default=ignore] pam_unix.so try_first_pass nullok
。然后我将nodelay
论点添加到其中,但它也不起作用。
答案1
通过一些实验,我发现了如何消除 arch 上的错误密码延迟。
在 中/etc/pam.d/system-auth
,添加nodelay
到auth
提及pam_faillock.so
或pam_unix.so
PAM 模块的行。
换句话说:
auth required pam_faillock.so preauth nodelay
auth [success=2 default=ignore] pam_unix.so try_first_pass nullok nodelay
-auth [success=1 default=ignore] pam_systemd_home.so
auth [default=die] pam_faillock.so authfail nodelay
...
许多答案建议添加该nodelay
选项pam_unix
,但看起来pam_faillock
有最近 获得的nodelay
也是一个选项。
答案2
经过一些额外的实验后,似乎faillock有一个配置文件,您可以在其中放置nodelay
.
这对我在 Arch linux 上有效:添加到innodelay
行pam_unix.so
/etc/pam.d/system-auth
auth [success=1 default=bad] pam_unix.so try_first_pass nullok nodelay
并附加到nodelay
,/etc/security/faillock.conf
只需nodelay
在文件末尾添加即可正常工作。
您还可以在此处设置deny
更高的数字。
另请检查:
man pam_unix
man pam_faillock
对我来说,消除取消时的延迟并不重要sudo
,更重要的是登录时的延迟。这也消除了身份验证的延迟。