Sebbene il file /etc/sudoers sia un normale file di testo, è essenziale non modificarlo direttamente con un editor di testo standard come Vim o nano. Il file /etc/sudoers controlla l'accesso a tutti i privilegi elevati e un errore in questo file può rendere impossibile ottenere i privilegi di root sul server. La maggior parte delle distribuzioni imposterà un editor predefinito (di solito Vim o nano) per /etc/sudoers. Quando si utilizza il comando visudo, il sistema verifica la sintassi del file /etc/sudoers prima di eseguire il commit delle modifiche, offrendo all'amministratore l'opportunità di correggere gli errori prima che diventino parte della configurazione in esecuzione.
La parte "vi" del comando visudo si riferisce all'editor di testo vi, che è standard in molte distribuzioni. Tuttavia, non lasciarti ingannare dal nome; puoi usare altri editor di testo per modificare il file sudoers. Tuttavia, è necessario modificarlo tramite il comando visudo per buona misura. Se inserisci il comando sudo visudo, si aprirà il tuo editor di testo predefinito, visualizzando il contenuto del file /etc/sudoers. Nel caso di Mint, l'editor di testo predefinito nel terminale è nano, quindi il file /etc/sudoers si aprirà nell'editor di testo nano quando esegui questo comando. Se per qualche motivo si apre in un editor di testo diverso, puoi indicare esplicitamente quale editor di testo desideri utilizzare utilizzando il seguente comando:
$ sudo EDITOR=nano visudo
La sintassi del comando visudo è:
$ visudo [options]
Opzioni della riga di comando
Opzione | Descrizione |
---|---|
-c | Controllo della sintassi sul contenuto del file, senza modifiche. Esce con 0 se è valido, o 1 in caso contrario. |
-f nomefile | Specifica un percorso alternativo per il file sudoers. |
-q | Modalità silenziosa. Se utilizzato con -c, non stampa errori. |
-s | Controllo rigoroso. Un alias utilizzato prima di essere definito è un errore. |
-V | Stampa il numero di versione. |
Se si verifica l'errore seguente durante l'esecuzione del comando visudo:
visudo: command not found
puoi provare a installare il pacchetto sudo come mostrato di seguito secondo la tua scelta di distribuzione:
Distribuzione | Comando |
---|---|
Debian | apt-get install sudo |
Ubuntu | apt-get install sudo |
Alpino | apk aggiungi sudo |
Arci Linux | pacman -S sudo |
Kali Linux | apt-get install sudo |
CentOS | yum install sudo |
Fedora | dnf install sudo |
Raspbian | apt-get install sudo |
Esempi di comando visudo
1. Modifica il file sudoers:
$ sudo visudo
2. Verifica la presenza di errori nel file sudoers:
$ sudo visudo -c
3. Modifica il file sudoers utilizzando un editor specifico:
$ sudo EDITOR=editor visudo
4. Visualizza le informazioni sulla versione:
visudo --version
Conclusione
L'uso di visudo invece di modificare direttamente impedisce a due utenti di eseguire modifiche contemporaneamente. Inoltre, visudo non salverà le modifiche sui sudoer se non sono sintatticamente corrette. Fai molta attenzione quando modifichi l'accesso utente tramite visudo. Se non stai attento, potresti aprire l'intera macchina a coloro a cui preferiresti non concedere l'accesso completo. Se fossi un amministratore in un'azienda, probabilmente vorresti dare agli utenti l'accesso a comandi specifici necessari per svolgere il proprio lavoro e nient'altro.