ArchLinux配置登录密码错误次数和锁定时间

1. 简介

在 Arch Linux 的默认配置下,用户在登录系统时如果在 15 分钟内输错密码 3 次,则会被锁定 10 分钟。对于个人电脑来说,只有 3 次输错机会有点少,因为有时候总是会突然多按或少按一个键,或者由于 Capslock 开启的缘故,导致连续几次都出错,很容易被锁定。而一旦被锁定,就要等 10 分钟,除非重启,对于个人用户来说实在太长了。

2. 配置

2.1 相邻两次登录间隔

Arch Linux 默认在一次登录失败后,需要等待一段时间的延迟才能进行下一次的登录,默认设置下个人感觉还可以接受。如果需要修改,则可以在配置文件 /etc/pam.d/system-login 中增加以下一行设定:

1
auth optional pam_faildelay.so delay=4000000

上述设定是 4 秒,如果需要其它时间,只需修改 delay 字段,它的单位是微秒(microsecond)。

2.2 登录失败次数和锁定时间

Arch Linux 默认在 15 分钟内登录失败 3 次就锁定 10 分钟,可以修改 /etc/security/faillock.conf 来更改默认设定,主要修改其中三个字段:

  • deny:登录失败次数;
  • fail_interval:计数周期,单位秒;
  • unlock_time:锁定时间,单位秒。

3. 解除锁定

如果被锁定了,除了重启,其实也可以通过以下方法来解除锁定:

  • 如果你除了当前登录窗口还有其它登录窗口,比如 tty2、tty3 等,且至少有一个已经成功登录了当前账号,然后已登录的 tty 终端解除当前账号的限制;或者没有其它已登录窗口,仍可以通过 root 帐号登录 tty 终端,然后用 root 帐号解除当前账号的限制:
1
faillock --reset --user username
  • 或者直接置空 /run/faillock 目录下被锁定的用户对应的锁定文件:
1
dd if=/dev/null of=/run/faillock/username

附录

参考资料: