ログイン プロンプトで間違ったパスワードを入力すると、約 3 秒の遅延が発生します。PAM を備えた Linux システムでこれを変更するにはどうすればよいですか?
答え1
Linuxとpamを使っていると思います。遅延の原因はおそらくpam_faildelay.so
/etc/pam.d
.を使用して、PAM 構成を確認しますpam_faildelay
。例:
# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth optional pam_faildelay.so delay=3000000
時間を変更するには、遅延パラメータを調整します。遅延をなくしたい場合は、行全体を削除/コメント化することができます。
遅延のもう一つの原因はpam_unix.so
による遅延を無効にするには、パラメータpam_unix.so
を追加しnodelay
、オプションで、pam_faildelay.so
代わりに (可変) 遅延を追加する を呼び出す行を追加します。例:
auth optional pam_faildelay.so delay=100000
答え2
nodelay
にパラメータを渡す必要がありますauth
pam_unix.so
。
認証方法に応じて、パラメータを設定する場所が異なります。ただしほとんどLinux ディストリビューションには、/etc/pam.d/system-auth
さまざまなファイルすべてに含まれる次のようなものがあります。
たとえば、/etc/pam.d/system-auth
次のような行があるかもしれません:
auth sufficient pam_unix.so try_first_pass nullok
これを次のように変更する必要があります:
auth sufficient pam_unix.so try_first_pass nullok nodelay
モジュールは、およびpam_unix.so
に対して認証を実行します。LDAP またはその他のパスワード バックエンドを使用している場合は、プロンプトを制御するのは であるため、を設定する必要があります (が認証に失敗した場合、通常は取得したパスワードを次のモジュールに渡すだけです)。/etc/passwd
/etc/shadow
nodelay
pam_unix.so
pam_unix.so
pam_unix.so
詳しくは以下をご覧くださいman pam_unix