Depois de inserir uma senha incorreta no prompt de login, ocorre um atraso de aproximadamente 3 segundos. Como posso mudar isso em um sistema Linux com PAM?
Responder1
Presumo que você esteja usando Linux e pam. O atraso provavelmente é causado porpam_faildelay.so
. Verifique sua configuração do pam /etc/pam.d
usando pam_faildelay
, por exemplo:
# 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
Para alterar o tempo, ajuste o parâmetro de atraso. Se você quiser se livrar do atraso, você pode excluir/comentar a linha completa.
Outra fonte para o atraso pode serpam_unix.so
. Para desabilitar o atraso causado pela pam_unix.so
adição do nodelay
parâmetro e, opcionalmente, adicione uma linha chamando pam_faildelay.so
para adicionar um atraso (variável), por exemplo:
auth optional pam_faildelay.so delay=100000
Responder2
Você precisa passar o nodelay
parâmetro para o auth
pam_unix.so
.
Dependendo de como você está autenticando, onde você precisa definir o parâmetro varia. No entantomaioriaAs distribuições do Linux têm algo parecido com /etc/pam.d/system-auth
o que é incluído em todos os arquivos diferentes.
Então, por exemplo, /etc/pam.d/system-auth
você pode ter uma linha parecida com esta:
auth sufficient pam_unix.so try_first_pass nullok
Isso deve ser alterado para:
auth sufficient pam_unix.so try_first_pass nullok nodelay
O pam_unix.so
módulo é o que realiza a autenticação em /etc/passwd
e /etc/shadow
. Se você estiver usando LDAP ou algum outro back-end de senha, provavelmente ainda deverá definir nodelay
como pam_unix.so
é isso que controla o prompt (quando pam_unix.so
falha na autenticação, geralmente apenas passa a senha obtida para o próximo módulo).
Você pode ler mais sobre pam_unix.so
fazendoman pam_unix