組み込みLinuxディストリビューションでパスワードポリシーを設定しようとしています。
3回のログインに失敗した後、30秒のクールダウンが欲しいです。
そのため、common-authファイルに最後の行を追加しました。
auth required pam_tally2.so deny=3 unlock_time=30 even_deny_root
それを実行するために
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
# here are the per-package modules (the "Primary" block)
auth [success=1 default=ignore] pam_unix.so nullok_secure
# 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 required pam_tally2.so deny=3 unlock_time=30 even_deny_root
ただし、sshを実行しようとしてログインに失敗した場合、パスワードポリシーのこの部分は強制されません。実際にログインしようとすると(3つではなく)6つのログインプロンプトが表示されるため、common-authファイルを妨げるログインに関連する他のモジュールがあると考えられます。