Nach der Eingabe eines falschen Passworts bei einer Anmeldeaufforderung tritt eine Verzögerung von ca. 3 Sekunden auf. Wie kann ich das auf einem Linux-System mit PAM ändern?
Antwort1
Ich gehe davon aus, dass Sie Linux und PAM verwenden. Die Verzögerung wird wahrscheinlich verursacht durchpam_faildelay.so
. Überprüfen Sie Ihre PAM-Konfiguration mithilfe /etc/pam.d
von pam_faildelay
, zB:
# 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
Um die Zeit zu ändern, passen Sie den Verzögerungsparameter an. Wenn Sie die Verzögerung beseitigen möchten, können Sie die gesamte Zeile löschen/auskommentieren.
Eine weitere Ursache für die Verzögerung kann seinpam_unix.so
pam_unix.so
. Um die durch das Hinzufügen des Parameters verursachte Verzögerung zu deaktivieren nodelay
, fügen Sie optional eine Zeile hinzu, die pam_faildelay.so
stattdessen das Hinzufügen einer (variablen) Verzögerung aufruft, z. B.:
auth optional pam_faildelay.so delay=100000
Antwort2
Sie müssen den nodelay
Parameter an übergeben auth
pam_unix.so
.
Je nachdem, wie Sie sich authentifizieren, variiert die Stelle, an der Sie den Parameter setzen müssen.am meistenLinux-Distributionen haben etwas wie /etc/pam.d/system-auth
das, das in allen verschiedenen Dateien enthalten ist.
So könnte beispielsweise in /etc/pam.d/system-auth
eine Zeile Folgendes angezeigt werden:
auth sufficient pam_unix.so try_first_pass nullok
Dies sollte wie folgt geändert werden:
auth sufficient pam_unix.so try_first_pass nullok nodelay
Das pam_unix.so
Modul führt die Authentifizierung gegenüber /etc/passwd
und /etc/shadow
durch. Wenn Sie LDAP oder ein anderes Kennwort-Backend verwenden, sollten Sie wahrscheinlich immer noch nodelay
die Einstellung auf verwenden pam_unix.so
, da dies die Eingabeaufforderung steuert (wenn die pam_unix.so
Authentifizierung fehlschlägt, wird das erhaltene Kennwort normalerweise einfach an das nächste Modul weitergegeben).
Weitere Informationen finden Sie pam_unix.so
unterman pam_unix