Su un moderno sistema Ubuntu (e molte altre distribuzioni GNU / Linux), riparare un sudoers
file corrotto è in realtà abbastanza semplice e non richiede il riavvio, usando un CD live o l'accesso fisico alla macchina.
Per fare ciò tramite SSH, accedere alla macchina ed eseguire il comando pkexec visudo
. Se si dispone dell'accesso fisico alla macchina, SSH non è necessario; basta aprire una finestra Terminale ed eseguire quel pkexec
comando.
Supponendo che tu (o qualche altro utente) sia autorizzato a eseguire programmi come root
con PolicyKit, puoi inserire la tua password, quindi verrà eseguita visudo
come root
e puoi correggere il tuo /etc/sudoers
.
Se è necessario modificare uno dei file di configurazione /etc/sudoers.d
(che non è comune in questa situazione, ma possibile), utilizzare .pkexec visudo -f /etc/sudoers.d/filename
Se si verifica una situazione correlata in cui è necessario eseguire ulteriori comandi di amministrazione del sistema come root per risolvere il problema (anche non comune in questa circostanza, ma comune in altri), è possibile avviare una shell root interattiva con pkexec bash
. In generale, invece, è sudo
possibile eseguire qualsiasi comando non grafico con cui si esegue pkexec
.
(Se sul sistema è presente più di un account utente autorizzato ad eseguire programmi come root
con PolicyKit, quindi per una di quelle azioni, ti verrà chiesto di selezionare quale vuoi usare, prima che ti venga chiesta la password.)
Se ciò non funziona, ad esempio se non ci sono utenti autorizzati a eseguire programmi come root tramite PolicyKit, quindi avviare da un CD live di Ubuntu (come il CD che probabilmente hai usato per installare Ubuntu) e montare il filesystem per sistema installato. Puoi farlo eseguendo
sudo parted -l
per visualizzare le tue partizioni - probabilmente c'è solo una partizione ext4, ed è il filesystem di root.
Supponiamo che il filesystem di root del sistema Ubuntu sia su / dev / sda1. Quindi puoi montarlo con sudo mount /dev/sda1 /mnt
. Quindi è possibile modificare il file sudoers del sistema installato con sudo nano -w /mnt/etc/sudoers
. O, ancora meglio, puoi modificarlo con
sudo visudo -f /mnt/etc/sudoers
(che ti impedirà di salvare un file sudoers con sintassi errata).