In passato ho scritto molti articoli su sudoers come le migliori pratiche e risolto molti errori relativi ai file sudoers. Questa volta, uno dei miei lettori mi ha chiesto di verificare il suo file sudoers? Di seguito è riportato il file sudoers degli utenti. Questo articolo spiega come controllare la sintassi sudoers.
# # This file MUST be edited with the ‘visudo’ command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin” # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on “#include” directives: #includedir /etc/sudoers.d
Anche se sono andato riga per riga e verificato tutte le righe, non sono riuscito a trovare il problema. Alcuni degli errori potrebbero non essere visibili all'occhio umano, come la cancellazione di un carattere e la chiusura non corretta delle parentesi graffe, ecc. Quindi la domanda è come si fa a controllare la sintassi per un file sudoers?
La procedura migliore per modificare direttamente il file sudoers consiste nell'usare visudo
poiché ha un flag che eseguirà un controllo della sintassi sul file sudoers. Puoi eseguire il comando seguente dopo aver apportato le modifiche per verificare che la sintassi sia corretta.
Fino a quando non confermi che il tuo file sudoers è corretto, NON abbandonare la sessione ROOT. Accedi allo stesso server separatamente e prova i comandi Sudo per verificare.
# visudo -c /etc/sudoers: parsed OK
Un'altra fantastica funzionalità di visudo
è che puoi dirgli di controllare un file specificato piuttosto che solo il /etc/sudoers
file. Questo aiuta a controllare la sintassi del file su qualsiasi server prima di distribuirlo al server di produzione.
# visudo -cf /tmp/sudoers /tmp/sudoers: parsed OK