如何更改输入错误密码后出现的延迟?

如何更改输入错误密码后出现的延迟?

在登录提示符下输入错误密码后,会出现大约 3 秒的延迟。如何在 Linux 系统上使用 PAM 更改它?

答案1

我假设您正在使用 Linux 和 pam。延迟可能是由于pam_faildelay.so/etc/pam.d使用检查您的 pam 配置pam_faildelay,例如:

# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth       optional   pam_faildelay.so  delay=3000000

要更改时间,请调整延迟参数。如果您想摆脱延迟,您可以删除/注释整行。

延迟的另一个来源可能是pam_unix.so。要禁用由pam_unix.so添加参数引起的延迟nodelay,并可选择添加一行调用pam_faildelay.so来添加(变量)延迟,例如:

auth       optional   pam_faildelay.so  delay=100000

答案2

您需要将nodelay参数传递给auth pam_unix.so.

根据您的身份验证方式,您需要设置参数的位置会有所不同。然而最多linux 发行版有类似的东西/etc/pam.d/system-auth,包含在所有不同的文件中。

例如,/etc/pam.d/system-auth您可能有一行如下所示:

auth            sufficient      pam_unix.so try_first_pass nullok

这应该更改为:

auth            sufficient      pam_unix.so try_first_pass nullok nodelay

pam_unix.so模块负责对/etc/passwd和执行身份验证/etc/shadow。如果您使用 LDAP 或其他密码后端,您可能仍应进行设置,nodelay因为pam_unix.so这是控制提示的内容(当pam_unix.so身份验证失败时,它通常只是将获得的密码传递到下一个模块)。

您可以pam_unix.so通过执行以下操作来阅读更多信息man pam_unix

相关内容