Con quale frequenza viene richiesta la password per i comandi sudo? Dove posso installarlo?


24

Eseguo molti sudocomandi.

Ho notato che se eseguo uno e poi un altro in pochi minuti, la seconda volta non ricevo il messaggio:

[sudo] password per my_username:

ma lo capisco quando c'è più tempo tra l'esecuzione dei due comandi.

Qual è il periodo di tempo in cui il messaggio non viene visualizzato? Come possiamo controllarlo / aggiornarlo?


1
sudo visudo, quindi% sudo line dovrebbe essere% sudo ALL = (ALL: ALL) NOPASSWD: ALL, non ti chiederà alcuna password quando digiti sudo any-stuff
Qasim

3
Questo (NOPASSWD: ALL) è un suggerimento molto pericoloso. Renderà la tua installazione non protetta.
Sri

Risposte:


31

Il timeout predefinito sudoè di 15 minuti; cioè, sudoricorderà la tua password per 15 minuti di default.

È possibile modificare questo timeout predefinito aggiungendo una stringa nel file /etc/sudoers. Tuttavia, non si modifica direttamente il file, ma si utilizza invece il comando sudo visudo.

Quindi, digita sudo visudoun terminale. Questo aprirà il file (in realtà, un temporaneo) che possiamo modificare, usando il tuo editor preferito.

Nota: se si utilizza visudoper la prima volta, è necessario che venga richiesto quale editor si desidera utilizzare, quindi scegliere l'editor. Non esiste un editor "migliore", ma preferisco nano. Se hai già provato visudoe ha scelto un editore prima, ma si desidera utilizzare un altro editor per il momento, si può fare sudo EDITOR=vi visudodi utilizzare vi, o modificarlo per nanousare nano. Se vuoi cambiare permanentemente il tuo editor preferito, fallo sudo update-alternatives --config editor.

Cerca questa linea:

Defaults    env_reset

E aggiungi (con una virgola) alla fine, dove X è il tempo che vuoi impostare in minuti.timestamp_timeout=X

Quindi la tua linea dovrebbe apparire così, come esempio:

Defaults    env_reset,timestamp_timeout=5

Se si specifica 0, verrà sempre richiesta la password. Se si specifica un valore negativo, il timeout non scadrà mai.

Una volta fatto, salva ed esci.

Fonte: RootSudoTimeout


Grazie, @Alaa, è una risposta buona e utile. Proprio come una nota a margine, la Ctrl + xparte non è sempre abbinata come l'editor può essere ad esempio vi(nel mio caso).
fedorqui,

A proposito, ho fatto un grosso errore aggiungendo una nuova linea con solo Default timestamp-0invece di quella con env_reset. Ha rotto il mio file sudoers. Ho dovuto usare askubuntu.com/a/73872/143251 per risolverlo!
fedorqui,

@fedorqui: Questo è esattamente il motivo per cui dovresti usare visudo (come consiglia Alaa) invece di modificare direttamente il file. Il primo verificherà la sintassi del file, impedendoti di bloccare sudo.
Plutor,

Sì, sì, è quello che ho fatto @Plutor. Ma viè l'editor per cui ho definito visudo. Il problema è che ho salvato il file anche se ho ricevuto un messaggio di avviso quando lo chiudevo. Colpa mia, ovviamente.
fedorqui,

1
@fedorqui, sì, in un certo senso volevo rimuovere quella parte perché chiunque potrebbe usare un editor diverso. Ho modificato la mia risposta per non essere specifico dell'editor.
Alaa Ali,

3

Vedi questo post qui: http://ubuntuforums.org/showthread.php?p=116697#post116697

Modifica /etc/sudoersfile, usa il sudo visudocomando per sicurezza. Aggiungi timestamp_timeout=0alla riga iniziando Defaultsa chiedere ogni volta, o X positiva per ritardo di X minuti.


1
Devo registrarmi nel forum per vederlo. Nel frattempo, potresti gentilmente indicare quale file dovrei modificare con la timestamp_timeout=0riga?
fedorqui,

OK, risposta fissa.
Tuminoid,

Ha fatto il trucco! Accetterò l'altra risposta in quanto ha una spiegazione più completa e include il env_resetriferimento, che è importante. Comunque anche questa tua risposta è stata molto utile, quindi grazie!
fedorqui,

0

Non sono sicuro se questo scade o no, ma potresti provare

sudo su

Ti chiederà la password e successivamente tutti i comandi verranno eseguiti come sudo.


1
Sì, @ Rat2000, ma voglio continuare a utilizzare il mio utente e non root. Penso che sia più sicuro. Comunque, grazie per il consiglio.
fedorqui,

3
sudo su ti fa diventare root. Il tuo prompt dovrebbe quindi essere root @ yourpc. Ricorda che root ha il proprio .bashrc, quindi i tuoi alias non funzioneranno. Ricorda anche che root può causare gravi danni al sistema, quindi fai attenzione!
speter,
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.