Il comportamento del comando sudo è controllato dal file / etc / sudoers sul tuo sistema. Questo comando deve essere modificato con il comando visudo, che esegue il controllo della sintassi per assicurarsi di non rompere accidentalmente il file.
Specificare gli utenti con autorizzazioni Sudo
L'account utente che hai creato 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.
Fai Sudo dimenticare la tua 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
Se preferisci ricevere una richiesta 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 di sudo, è contenuta nel file / etc / sudoers. Esegui il comando visudo in un terminale per aprire il file per la modifica:
sudo visudo
A dispetto del suo nome, questo comando usa come impostazione predefinita l'editor nano di facile utilizzo invece del tradizionale editor vi su Ubuntu.
Aggiungi la seguente riga sotto le altre linee di default nel file:
Defaults timestamp_timeout=0
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, a patto che tu abbia effettuato l'accesso, ogni comando che tu prefissi 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:
username ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Esegui comandi specifici senza password
È inoltre possibile specificare comandi specifici che non richiedono mai una password quando vengono eseguiti 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.
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown
Questo può essere particolarmente utile quando si eseguono comandi specifici con sudo in uno script.
Consenti a un utente di eseguire solo comandi specifici
Sebbene sia 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 è 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
sudo -U standarduser –l
Registrazione Accesso Sudo
È 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
sudo cat /var/log/sudo