alterar o tempo limite do login tty - ArchLinux


10

Por padrão, quando faço login na minha caixa do Arch Linux em um tty, há um tempo limite após digitar meu nome de usuário, mas antes de digitar minha senha.

Então é assim

Login:  mylogin <enter>
Password:
(+ 60 seconds)
Login:

Como você pode ver, se eu não digitar a senha, ele recicla o prompt - quero que ele aguarde indefinidamente por minha senha, em vez de reciclar o prompt de login.

Isso é possível?

Parece que a --timeoutopção agettyseria o que eu quero. No entanto, tentei adicionar esse sinalizador nos arquivos getty em /usr/lib/systemd/system/(a opção não é usada por padrão) e reiniciar - parecia não ter efeito.

Respostas:


11

agettychamadas logindepois de ler o nome do usuário, portanto, qualquer tempo limite ao ler a senha é feito login.

Para alterar isso, edite /etc/login.defse altere o valor LOGIN_TIMEOUT.

#
# Max time in seconds for login
#
LOGIN_TIMEOUT       60

2
Como você faria isso durar infinitamente?
Will Dereham

3
@AnEpicPerson Não está documentado, até onde posso ver, mas olhando através do código existe #define ALARM 60e timeout = getdef_unum ("LOGIN_TIMEOUT", ALARM); if (timeout > 0) { (void) alarm (timeout); }. Portanto, colocar o LOGIN_TIMEOUT 0login.defs deve desativar qualquer tempo limite.
precisa saber é o seguinte

2
  1. No Arch, os programas instalam os padrões /usr/lib. Você não deve estar mexendo manualmente por lá (quase sempre); definitivamente não com systemd. systemdfornece a substituição de unidades padrão por um motivo (consulte a seção "Caminho de carregamento da unidade" ).

  2. Parte disso é um problema de segurança. O tempo limite verifica novamente por negligência (por exemplo, você digita toda a sua senha, mas esqueça de pressionar enter e se distrai com alguma coisa). Você deve estar ciente de que desativá-lo não é a decisão mais segura aqui.

  3. Ao editar ou substituir uma unidade, é necessário executar systemctl daemon-reloadpara que o systemd reconheça completamente a alteração. Depois de criar a nova unidade /etc/systemd/, você deve daemon-reloade então disablea unidade padrão e enablesua nova unidade. Em seguida, a reinicialização deve produzir os resultados desejados. ( Nota : eu não aconselho fazê-lo; veja o ponto 2.)


1
Com relação ao seu ponto 2. - a importância prática de fazer isso é para que minha filha de 4 anos possa digitar sua senha de 9 letras antes de ser frustrada. Re sua resposta na íntegra, encontre em seu coração para me dar uma solução para minha pergunta.
g33kz0r

Eu pensei que você estava realmente no caminho certo com a --timeoutopção, mas olhando mais a fundo (ou seja, agettya página de manual), parece que a --timeoutopção se refere à inserção do nome de usuário, não da senha.
HalosGhost

@HalosGhost Não é necessário colocar '$' antes dos comandos na edição de postagens, é um desperdício e isso dificulta o corte e a colagem. Fazer apenas quando os comandos e saída são misturados em um bloco
Zelda

1
@Zelda, não sei ao certo por que você postou isso aqui. Mas, vou manter isso em mente.
HalosGhost
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.