如何控制 PAM 中的身份验证尝试?

如何控制 PAM 中的身份验证尝试?

我想配置没有。在删除会话之前,有时会提示用户输入密码(尝试身份验证)进行登录。 PAM 是否支持这种情况,如果支持,您能帮我完成所需的配置吗?

答案1

PAM 有一个登录计数器模块,称为pam_tally它可用于维护尝试登录尝试的计数,并在一定数量的登录尝试失败时阻止进一步的尝试。

例子:

在 Debian 上,您可以添加以下行,以便/etc/pam.d/common-auth在帐户被锁定之前为用户提供三次登录尝试:

auth required pam_tally.so onerr=fail deny=3 no_magic_root

no_magic_root可以防止 root 用户被锁定。

作为彼得夫指出,该unlock_time选项可用于指定锁定帐户在多少秒后自动解锁。通过将此选项设置为1,即锁定帐户一秒钟,可以在指定次数尝试后中止登录尝试,同时仍允许用户(几乎)立即重试。

添加以下行将/etc/pam.d/common-account重置成功登录后的登录计数:

account required pam_tally.so reset no_magic_root

在 Fedora 上,这两行都可以添加到/etc/pam.d/system-auth.

user可以使用附带的实用程序恢复对锁定帐户的访问pam_tally,如下所示:

$ pam_tally --user user --reset=0

答案2

如果您试图控制提示某人的次数,而不是他们无法验证的次数,那么您可能会在通过 PAM 进行管理时遇到困难。例如,ssh 有其自己的配置:

     NumberOfPasswordPrompts
         Specifies the number of password prompts before giving up.  The
         argument to this keyword must be an integer.  The default is 3.

相关内容