pam faillock preauth——它起什么作用?

pam faillock preauth——它起什么作用?

我有一个文件/etc/pam.d/password-auth(部分内容)说明了这一点。我添加了原始文件中没有的行号。

1 auth required pam_env.so
2 auth required pam_faillock.so preauth audit silent deny=5 unlock_time=900
3 auth [success=1 default=bad] pam_unix.so
4 auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=900
5 auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=900
6 auth required pam_deny.so

我不明白第 2 行在做什么。我理解其余几行:

  1. 设置我的环境变量
  2. ???
  3. 检查用户的密码。如果密码正确,则跳至第 5 行。
  4. 密码错误。将此事实记录在故障锁定表中。停止处理密码。拒绝登录尝试。如果有 5 次错误登录尝试,则锁定帐户 15 分钟。
  5. 密码正确。清除此用户的故障锁定表。允许他登录并继续。停止处理。
  6. 我们可能永远不应该到达这一行,但如果我们到达了,则拒绝登录尝试。

第 2 行的用途是什么?我的测试没有显示任何需要或不需要它的具体原因。手册页说:

该模块仅检查如果最近连续身份验证尝试失败次数异常,是否应阻止用户访问服务。

我认为这意味着

检查账户是否被锁定。如果账户被锁定,那么无论输入什么密码,我们都会拒绝登录尝试。

...但事实并非如此。据我所知,这条authfail线实际上是锁定了账户,无论有没有这条线都无法登录账户preauth

那么它实际上在做什么(如果有的话)?

答案1

根据手册页线preauth

是可选的,如果验证成功用来。

如果您查看手册页中的示例,则可以使用 preauth 来显示帐户被锁定(无静默)的信息,或者如果您将其更改为 requisite,则可以阻止对锁定帐户的密码查询。

相关内容