modifica del timeout di accesso tty - ArchLinux


10

Di default quando accedo alla mia casella Linux Arch in tty, c'è un timeout dopo aver digitato il mio nome utente ma prima di digitare la mia password.

Quindi va così

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

Come puoi vedere, se non digito la password, ricicla il prompt: voglio che attenda indefinitamente la mia password invece di riciclare il prompt di accesso.

È possibile?

Sembra che l' --timeoutopzione agettysarebbe quella che voglio. Tuttavia, ho provato ad aggiungere questo flag nei file getty in /usr/lib/systemd/system/(l'opzione non è utilizzata per impostazione predefinita) e riavviare - sembrava non avere alcun effetto.

Risposte:


11

agettychiama logindopo aver letto il nome utente, quindi ogni timeout durante la lettura della password viene eseguito da login.

Per cambiarlo, modifica /etc/login.defse cambia il valore LOGIN_TIMEOUT.

#
# Max time in seconds for login
#
LOGIN_TIMEOUT       60

2
Come riusciresti a durare all'infinito?
Will Dereham, il

3
@AnEpicPerson Non è documentato, per quanto posso vedere, ma guardando attraverso il codice c'è #define ALARM 60e timeout = getdef_unum ("LOGIN_TIMEOUT", ALARM); if (timeout > 0) { (void) alarm (timeout); }. Quindi inserire LOGIN_TIMEOUT 0login.defs dovrebbe disabilitare qualsiasi timeout.
Mark Plotnick, il

2
  1. In Arch, i programmi installano i valori predefiniti su /usr/lib. Non dovresti fare scherzi manualmente (quasi mai); sicuramente non con systemd. systemdfornisce l'override delle unità predefinite per un motivo (vedere la sezione "Percorso di carico dell'unità" ).

  2. Parte di questo è un problema di sicurezza. Il timeout verifica la negligenza (ad esempio, si digita l'intera password, ma si dimentica di premere Invio e si è distratti da qualcosa). Dovresti essere consapevole che disabilitarlo non è la decisione più sicura qui.

  3. Quando si modifica o si sostituisce un'unità, è necessario eseguire systemctl daemon-reloadper consentire a systemd di riconoscere completamente la modifica. Dopo aver creato la nuova unità /etc/systemd/, è necessario daemon-reloade quindi disablel'unità predefinita e enablela nuova unità. Quindi, il riavvio dovrebbe produrre i risultati desiderati. ( Nota : sconsiglio però di farlo; vedere il punto 2.)


1
Per quanto riguarda il punto 2. - L'importanza pratica di farlo è che il mio bambino di 4 anni riesce a digitare la sua password di 9 lettere prima di essere contrastato. Per quanto riguarda la tua risposta nella sua interezza, trovala nel tuo cuore per darmi una soluzione alla mia domanda.
g33kz0r

Avevo pensato che fossi effettivamente sulla buona strada con l' --timeoutopzione, ma esaminando ulteriormente (vale a dire agettyla pagina man di), sembra che l' --timeoutopzione si riferisca all'immissione del nome utente, non della password.
HalosGhost

@HalosGhost Non è necessario inserire "$" prima dei comandi durante la modifica dei post, è dispendioso e ciò rende più difficile tagliare e incollare. Fallo solo quando i comandi e l'output vengono mescolati in un blocco
Zelda,

1
@Zelda, in realtà non sono sicuro del perché l'hai pubblicato qui. Ma lo terrò a mente.
HalosGhost,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.