22Aug
Come la maggior parte delle cose su Linux, il comando sudo è molto configurabile.È possibile avere sudo eseguire comandi specifici senza chiedere una password, limitare gli utenti specifici solo ai comandi approvati, i comandi di registro eseguiti con sudo e altro.
Il comportamento del comando sudo è controllato dal file sudoers /etc/ sul sistema. Questo comando deve essere modificato con il comando visudo, che esegue il controllo della sintassi per assicurarsi di non rompere accidentalmente il file.
Specifica gli utenti con le autorizzazioni Sudo
L'account utente che si crea durante l'installazione di Ubuntu è contrassegnato come un account Administrator, il che significa che può utilizzare sudo. Eventuali account utente aggiuntivi creati dopo l'installazione possono essere Amministratori o Account utente standard: gli account utente standard non dispongono di autorizzazioni sudo.
È possibile controllare graficamente i tipi di account utente dallo strumento Account utente di Ubuntu. Per aprirlo, fai clic sul tuo nome utente sul pannello e seleziona Account utente o cerca Account utente nel trattino.
Make Sudo Dimentica la password
Per impostazione predefinita, sudo ricorda la password per 15 minuti dopo averla digitata. Questo è il motivo per cui devi digitare la password una sola volta quando esegui più comandi con sudo in rapida successione. Se stai per permettere a qualcun altro di usare il tuo computer e vuoi che sudo chieda la password quando viene eseguito successivamente, esegui il seguente comando e sudo dimenticherà la tua password:
sudo -k
Chiedi sempre una password
SePiuttosto, ti viene richiesto ogni volta che usi sudo, ad esempio se altre persone hanno regolarmente accesso al tuo computer, puoi disabilitare completamente il comportamento di memorizzazione della password.
Questa impostazione, come altre impostazioni sudo, è contenuta nel file sudoers /etc/.Esegui il comando visudo in un terminale per aprire il file per la modifica:
sudo visudo
Nonostante il suo nome, questo comando usa per impostazione predefinita l'editor nano di nuova concezione invece del tradizionale editor vi su Ubuntu.
Aggiungere la riga seguente sotto le altre righe dei valori di default nel file:
Defaults timestamp_timeout = 0
Premere Ctrl + O per salvare il file, quindi premere Ctrl + X per chiudere Nano. Ora Sudo ti chiederà sempre una password.
Cambia il timeout della password
Per impostare un timeout della password diverso - uno più lungo come 30 minuti o uno più breve come 5 minuti - segui i passaggi precedenti ma utilizza un valore diverso per timestamp_timeout. Il numero corrisponde al numero di minuti su cui si ricorderà la password. Per fare in modo che sudo ricordi la tua password per 5 minuti, aggiungi la seguente riga:
Default timestamp_timeout = 5
Non chiedere mai una password
Puoi anche fare in modo che sudo non chieda mai una password - finché hai effettuato l'accesso, ogni comando tuil prefisso con sudo verrà eseguito con i permessi di root. Per fare ciò, aggiungi la seguente riga al tuo file sudoers, dove username è il tuo nome utente:
nome utente ALL =( TUTTI) NOPASSWD: ALL
Puoi anche cambiare la riga sudo%, cioè la linea che consente a tutti gli utenti nelgruppo sudo( noto anche come utente amministratore) per utilizzare sudo - per fare in modo che tutti gli utenti amministratore non richiedano password:
% sudo ALL =( TUTTI: TUTTI) NOPASSWD: TUTTI
Esegui comandi specifici senza password
È inoltre possibile specificare comandi specifici chenon richiederà mai una password quando viene eseguita con sudo. Invece di usare "TUTTI" dopo NOPASSWD sopra, specificare la posizione dei comandi. Ad esempio, la seguente riga consentirà al tuo account utente di eseguire i comandi apt-get e shutdown senza password. Nome utente
ALL =( TUTTI) NOPASSWD: /usr/bin/ apt-get, /sbin/ shutdown
Questo può essere particolarmente utile quando si eseguono comandi specifici con sudo in uno script.
Permetti a un utente di eseguire solo comandi specifici
Mentre è possibile mettere in blacklist comandi specifici e impedire agli utenti di eseguirli con sudo, questo non è molto efficace. Ad esempio, è possibile specificare che un account utente non sia in grado di eseguire il comando shutdown con sudo. Ma quell'account utente poteva eseguire il comando cp con sudo, creare una copia del comando shutdown e spegnere il sistema usando la copia.
Un modo più efficace è di inserire nella whitelist comandi specifici. Ad esempio, è possibile fornire un permesso per account utente standard per utilizzare i comandi apt-get e shutdown, ma non di più.Per fare ciò, aggiungi la seguente riga, dove standarduser è il nome utente dell'utente:
standarduser ALL = /usr/bin/ apt-get, /sbin/ shutdown
Il seguente comando ci dirà quali comandi l'utente può eseguire con sudo:
sudo -U standarduser -l
Registrazione Sudo Access
È possibile registrare tutti gli accessi sudo aggiungendo la seguente riga. /var/log/ sudo è solo un esempio;puoi utilizzare qualsiasi percorso di file di registro che ti piace.
Defaults logfile = /var/log/ sudo
Visualizza il contenuto del file di log con un comando come questo:
sudo cat /var/log/ sudo
Ricorda che, se un utente ha accesso illimitato sudo, quell'utente ha la possibilità di cancellare o modificare il filecontenuto di questo file. Un utente può anche accedere a un prompt di root con sudo ed eseguire comandi che non verrebbero registrati. La funzionalità di registrazione è più utile se accoppiata con account utente che hanno accesso limitato a un sottoinsieme di comandi di sistema.