È possibile inserire la password per sudo solo una volta e configurarla per non richiedere la password su altri terminali?


33

Inserisco il mio primo sudocomando. Inserisco la mia password Per un po ', non dovrò inserire la mia password per i successivi comandi sudo.

Ora la domanda Sono qualcuno che apre molti terminali. Sarebbe molto conveniente se non dovessi inserire le password quando uso sudonei terminali che apro dopo il mio primo sudo, per il breve periodo in cui non devo inserire la password per sudo nel terminale da cui ho usato sudo per la prima volta. (Ci scusiamo per la lunga frase!)

È possibile? Se no, perché? Se si, come?


4
Hai considerato che facendo così stai aprendo la falla di sicurezza che quel meccanismo esiste per chiudere? La ragione per cui devi inserire la tua password con sudo è quella di evitare che un utente malintenzionato abbia in qualche modo accesso a una sessione di accesso a tuo nome. Se lo disabiliti e qualcuno riesce a dirottare una delle tue sessioni del terminale (sono tutti sulla stessa console?) O in qualche modo ottiene l'accesso a una sessione di accesso a tuo nome senza conoscere la tua password, sarà in grado di eseguire qualsiasi comando come root. Uno scenario non molto probabile, ma qualcosa da considerare.
Pepijn Schmitz,

Risposte:


52

Certo che lo e. Esegui sudo visudoe aggiungi questa riga al tuo sudoersfile:

Defaults        !tty_tickets

Come spiegato in man sudoers:

 tty_tickets       If set, users must authenticate on a per-tty basis.
                   With this flag enabled, sudo will use a separate record
                   in the time stamp file for each tty.  If disabled, a
                   single record is used for all login sessions.  This
                   flag is on by default.

Impostando tty_ticketssu off (questo è il !significato), si abilita una singola autenticazione da condividere da più sessioni.


1
L'unica cosa che faccio diversamente qui quando consiglio agli utenti è usare invece un file sudoers.d. In questo modo se in qualche modo si rovinano in modo molto semplice da recuperare, basta eliminare quel file. Ex. sudo visudo -f /etc/sudoers.d/01_file
Doug,

Cosa succede quando termina il timeout di sudo? o eseguire qualcosa del genere sudo -k?
Maythux,

@Maythux devi inserirlo di nuovo. Questo fa solo funzionare una singola identificazione per tutte le sessioni della shell. Nient'altro.
terdon

@ user3073656 ah, bello, ha più senso :). Sì, per favore, eliminerò il mio.
terdon

Devo notare che se utilizzo questo metodo, la password scadrà solo al timeout di 15 minuti, anche se riavvio, il che rappresenta un problema di sicurezza. Quindi forse aggiungere sudo -ka /etc/rc6.d?
Daltonfury42,
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.