如何控制 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.

相關內容