Por que a senha solicita um pequeno atraso depois de digitar o nome de usuário em tty?

7

Eu tenho esse tipo de comportamento e não sei como corrigi-lo ou até mesmo como procurar uma correção para ele, já que não sei como eu mesmo o chamaria.

Veja o que está acontecendo:

A primeira vez que eu inicializo, quando digito o nome de usuário e pressiono Retrun , o aviso de senha aparece cerca de meio ou um quarto de segundos depois. O problema é que, depois de digitar o nome de usuário, eu geralmente pressiono Return e imediatamente começo a digitar a senha; no entanto, como o Password: ainda não apareceu, o tty começa a imprimir os caracteres que eu digito diretamente na tela.

Por exemplo, digamos que meu nome de usuário e senha sejam: Username e Password , respectivamente. Se eu fosse fazer o login em um tty1 , seria algo como isto. O "Pa" no começo está lá porque eu tinha começado a digitar "Senha" antes que Password: aparecesse.

Debian GNU/Linux stretch/sid hostname tty1

hostname login: Username
PaPassword:

Uma solução simples para isso seria, naturalmente, digitar o nome de usuário e esperar um pouco antes de digitar a senha, no entanto, eu gostaria de chegar ao fundo disso e encontrar a causa deste problema. Eu tenho medo de que algum dia o prompt demore muito mais do que um quarto de segundo (por exemplo, alguns segundos) e eu teria digitado acidentalmente minha senha inteira na tela antes que o Password: finalmente aparecesse.

Existe uma maneira de saber o que está acontecendo aqui?

    
por orange orange 14.07.2015 / 21:09

2 respostas

2

O comportamento padrão do TTY é ecoar (exibir imediatamente) o que o usuário digitar na tela. Isso fornece feedback instantâneo das teclas pressionadas. Este é o modo em que o dispositivo TTY está quando o prompt login: é mostrado.

Antes de pedir a senha, o programa de login faz uma chamada do sistema para alterar o modo do TTY para não caracteres digitados (para que sua senha não seja mostrada enquanto você digita). No entanto, se você começar a digitar caracteres antes que o programa de login realmente execute a chamada do sistema, esses caracteres serão realmente mostrados.

Depois de pedir a senha, o programa de login define o modo de eco TTY de volta ao padrão (ecoa o que o usuário digita).

    
por 14.07.2015 / 22:35
2

Como disse @wurtel em seu comentário, acredito que o processo de login está sendo multiplicado por outros processos de inicialização, combinados com E / S de disco rígido. A resposta irônica seria logar (natch!) E assistir top e / ou iostat e / ou vmstat para ver o que o sistema está ocupado fazendo enquanto você tenta efetuar login (novamente).

Eu diria "sempre aguarde o prompt de senha" (porque você não quer arriscar dar sua senha para o programa errado ou pessoa!), mas eu vou ser o primeiro a admitir que eu fiz isso muitas vezes. Vi logs do sistema em que um usuário claramente se confundiu entre o prompt de nome de usuário e o prompt de senha, e obtivemos logs do sistema como "login failed for P @ ssW0rD". Pode ser uma sessão ssh remota, uma sessão FTP, qualquer coisa que peça credenciais enquanto o sistema está ocupado fazendo outras coisas - o ponto principal que gostaria de fazer é que você deve ter a atenção do sistema certo antes de fornecer sua opinião.

    
por 16.07.2015 / 03:55