如何在错误输入登录和sudo密码后降低延迟?

我非常不耐烦,在登录屏幕输入错误的密码后,或者作为sudo密码,在我可以正确重新输入密码之前,不能忍受(对我来说主观上很长)延迟约2秒。

对于sudo和登录屏幕,有没有办法修改延迟并将其减少到大约半秒或完全关闭?

最佳解决方案包括在3或5个不正确的密码之后延迟更长时间,以防止暴力破坏。

PS:我目前正在使用带有Unity Desktop和lightdm的vanilla Ubuntu 16.04。

在Ubuntu中,要删除终端中错误密码的延迟 ,请编辑文件夹/etc/pam.d中的common-auth文件。

 sudo nano /etc/pam.d/common-auth 

然后将字符串nodelay添加到行的末尾

 auth [success=1 default=ignore] pam_unix.so nullok_secure 

所以它说

 auth [success=1 default=ignore] pam_unix.so nullok_secure nodelay 

然后按Ctrl + XYEnter键保存文件为nano。

如果您想改为延迟 ,请先执行上述步骤并完全删除延迟。 然后将以下行添加到上面更改的行之前的同一文件中:

 auth optional pam_faildelay.so delay=500000 

这将是该文件的第一个未注释的行。 如果在编辑的第一行之后添加此行,则它将不起作用。

现在,您可以将延迟值编辑为您想要的任何值。 我按你想要的半秒钟。

要让系统忽略默认密码安全延迟,请将nodelay添加到/etc/pam.d/common-auth文件:

改变这一行:

 auth [success=1 default=ignore] pam_unix.so nullok_secure 

至:

 auth [success=1 default=ignore] pam_unix.so nullok_secure nodelay 

然后重新启动系统以使其生效。

注意:

/etc/login.defs正式完成,但现在由/etc/pam.dPAM通过各种配置文件进行处理。

如果您想降低延迟而不是完全禁用它,请编辑/etc/pam.d/login

 sudoedit /etc/pam.d/login 

找到看起来像这样的行:

 auth optional pam_faildelay.so delay=3000000 

根据需要,将delay=后的数字delay=更改为更小的值。
请注意,该数字以微秒为单位,因此1000000是1秒。


资料来源:

  • 如何更改输入错误密码后发生的延迟?
  • /etc/pam.d/login在我的Ubuntu 16.04 LTS系统上。