Il sudo
Il comando consente agli utenti fidati di eseguire programmi come un altro utente, per impostazione predefinita l'utente root. Se passi molto tempo sulla riga di comando, sudo
è uno dei comandi che utilizzerai di frequente.
Di solito, per concedere l'accesso sudo a un utente è necessario aggiungere l'utente al gruppo sudo definito in sudoers
file. Su Debian, Ubuntu e loro derivati, membri del gruppo sudo
sono concessi con privilegi sudo mentre su distribuzioni basate su RedHat come CentOS e Fedora, il nome del gruppo sudo è wheel
.
A ciascun membro di questo gruppo verrà richiesto di inserire la password prima di eseguire un comando sudo. Questo aggiunge un ulteriore livello di sicurezza ed è il modo preferito per concedere privilegi sudo agli utenti.
Tuttavia, in alcune situazioni, come l'esecuzione di script automatici, potrebbe essere necessario configurare il file sudoers e consentire a determinati utenti di eseguire sudo
comandi senza che venga richiesta la password.
Aggiunta utente al file Sudoers #
Il file sudoers contiene informazioni che determinano i privilegi sudo di un utente e di un gruppo.
Puoi configurare l'accesso sudo dell'utente modificando il file sudoers o aggiungendo un file di configurazione a /etc/sudoers.d
directory. I file creati all'interno di questa directory verranno inclusi nel file sudoers.
Prima di apportare modifiche, è una buona idea eseguire il backup del file corrente:
sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
Il comando date aggiungerà la data corrente al nome del file di backup.
Apri il /etc/sudoers
file con il visudo
comando:
sudo visudo
Quando apporti modifiche al file sudoers usa sempre visudo
. Questo comando controlla il file dopo la modifica e se si verifica un errore di sintassi non salverà le modifiche. Se apri il file con un editor di testo, un errore di sintassi comporterà la perdita dell'accesso a sudo.
Sulla maggior parte dei sistemi, il visudo
il comando apre il /etc/sudoers
file con l'editor di testo vim. Se non hai esperienza con vim puoi usare un altro editor di testo. Ad esempio, per cambiare l'editor in GNU nano dovresti eseguire:
sudo EDITOR=nano visudo
Scorri verso il basso fino alla fine del file e aggiungi la seguente riga che consentirà all'utente "linuxize" di eseguire qualsiasi comando con sudo
senza che venga richiesta una password:
linuxize ALL=(ALL) NOPASSWD:ALL
Non dimenticare di cambiare "linuxize" con il nome utente a cui vuoi concedere l'accesso.
Se si desidera consentire all'utente di eseguire solo comandi specifici senza immettere la password, specificare i comandi dopo il NOPASSWD
parola chiave.
Ad esempio, per consentire solo la mkdir
e mv
comandi che useresti:
linuxize ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv
Al termine, salva il file ed esci dall'editor.
Utilizzo di /etc/sudoers.d
#
Invece di modificare il file sudoers puoi creare un nuovo file con le regole di autorizzazione in /etc/sudoers.d
directory. Questo approccio rende più gestibile la gestione dei privilegi sudo.
Apri il tuo editor di testo e crea il file:
sudo nano /etc/sudoers.d/linuxize
Puoi nominare il file come vuoi, ma di solito è una buona idea usare il nome utente come nome del file.
/etc/sudoers.d/linuxizeAggiungi la stessa regola che aggiungeresti al file sudoers:
linuxize ALL=(ALL) NOPASSWD:ALL
Infine, salva il file e chiudi l'editor.
Conclusione #
Ti abbiamo mostrato come modificare il /etc/sudoers
quindi puoi eseguire sudo
comandi senza inserire una password. Questo è utile quando hai script in cui un utente non root deve eseguire attività amministrative.
Se hai domande, sentiti libero di lasciare un commento.