私はUbuntu 20.04 LTSを実行しています。pam_faillock
ファイルに次の2行を追加してモジュールを有効にしました/etc/pam.d/common-auth
。
auth [default=die] pam_faillock.so authfail
auth sufficient pam_faillock.so authsucc
以下に次の行を追加します。
auth [success=2 default=ignore]
pam_unix.so nullok
上:
auth [success=1 default=ignore]
psm_sss.so use_first_pass
/etc/pam.d/common-auth
私の変更は以下に投稿され、コメントアウトされています。
# here are the per-package modules (the "Primary" block)
auth [success=2 default=ignore] pam_unix.so nullok
#auth [default=die] pam_faillock.so authfail
#auth sufficient pam_faillock.so authsucc
auth [success=1 default=ignore] pam_sss.so use_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
auth required pam_faildelay.so delay=4000000
# end of pam-auth-update config
この行を追加した後、次の行のコメントを外しました。/etc/security/faillock.conf
audit
silent
deny = 3
fail_interval = 900
unlock_time = 0
これらの変更後に再起動し、再起動後にログインしようとしたときにパスワードが間違っているというメッセージが表示されました。 (はい、これが悪いパスワードではないことを確認しました。)私はこの分野で最も強力な人ではなく、何が起こるのかわかりません。
ベストアンサー1
私はあなたの行のコメントを削除し、現在正しいと思われる場所に配置しました。認証フローを修正するために、他の1〜2行も移動しました。
# here are the per-package modules (the "Primary" block)
auth [success=4 default=ignore] pam_unix.so nullok
auth [success=3 default=ignore] pam_sss.so use_first_pass
auth [default=die] pam_faillock.so authfail
auth required pam_faildelay.so delay=4000000
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
auth sufficient pam_faillock.so authsucc
# end of pam-auth-update config
また、最初の2auth
行も変更しました。[success=N]
PAMに成功時にNルールをスキップするように指示し、成功はからpam_unix
またはにpam_sss
ジャンプしpam_permit
、失敗した場合pam_faillock
、pam_faildelay
およびに移動するように指示しますpam_deny
。
pam_faillock
まだインストールしていないためテストできません。したがって、これをテストする前に、システムでルートシェルを開き、PAM設定ファイルを変更する以外に触れないでください。
2番目のターミナルセッションを使用して、ログインなどを試して動作するかどうかをテストします。
それ以外の場合は、変更を元に戻す準備ができた最初のセッションを開きます。設定が正しいことを確認するまで、このセッションを閉じないでください。