web-dev-qa-db-fra.com

Comment changer-t-on le délai qui se produit après avoir entré un mot de passe incorrect?

Après avoir entré un mot de passe incorrect à une invite de connexion, il existe un délai d'environ 3 secondes. Comment puis-je modifier cela sur un système Linux avec PAM?

32
Shawn J. Goff

Je suppose que vous utilisez Linux et Pam. Le délai est probablement causé par pam_faildelay.so . Vérifiez votre configuration PAM dans /etc/pam.d à l'aide de pam_faildelay, par exemple:

# 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

Pour changer l'heure, réglez le paramètre de retard. Si vous souhaitez vous débarrasser du délai, vous pouvez supprimer/commenter la ligne complète.

Une autre source pour le retard peut être pam_unix.so . Désactiver le retard causé par pam_unix.so Ajouter le paramètre nodelay et éventuellement ajouter une ligne appelante pam_faildelay.so Pour ajouter un retard (variable) à la place, E.G.:

auth       optional   pam_faildelay.so  delay=100000
21
Ulrich Dangel

Vous devez passer le paramètre nodelay sur le auth _ pam_unix.so.

En fonction de la façon dont votre authentification, où vous devez définir le paramètre varie. Cependant la plupart distrubtions Linux ont quelque chose comme /etc/pam.d/system-auth qui est incluse par tous les fichiers différents.

Donc, par exemple dans /etc/pam.d/system-auth Vous pourriez avoir une ligne qui ressemble à ceci:

auth            sufficient      pam_unix.so try_first_pass nullok

Cela devrait être changé pour:

auth            sufficient      pam_unix.so try_first_pass nullok nodelay

Les pam_unix.so Module est ce qui effectue l'authentification contre /etc/passwd et /etc/shadow. Si vous utilisez LDAP ou un autre backend de mot de passe, vous devez toujours régler nodelay sur le pam_unix.so Comme c'est ce qui contrôle l'invite (quand pam_unix.so échoue à Auth, il passe généralement le mot de passe obtenu au module suivant).

Vous pouvez en savoir plus sur pam_unix.so en faisant man pam_unix

11
Patrick