Come risolvere " Il nome utente non è nel file sudoers. Questo incidente verrà segnalato " in Ubuntu
Nei sistemi Unix/Linux, l'account utente root
è l'account superutente e può quindi essere utilizzato per fare qualsiasi cosa e tutto ciò che è possibile ottenere sul sistema.
Tuttavia, questo può essere molto pericoloso in molti modi: uno potrebbe essere che l'utente root potrebbe immettere un comando errato e interrompere l'intero sistema o che un utente malintenzionato possa accedere all'account utente root e prendere il controllo del intero sistema e chissà cosa può fare.
Sulla base di questo background, in Ubuntu e nelle sue derivate, l'account utente root è bloccato per impostazione predefinita, gli utenti regolari (amministratori di sistema o meno) possono ottenere solo privilegi di super utente usando il comando sudo
.
E una delle cose peggiori che possono accadere ad un amministratore di sistema di Ubuntu sta perdendo i privilegi per usare il comando sudo , una situazione comunemente chiamata " broken sudo ". Questo può essere assolutamente devastante.
Un sudo non funzionante può essere causato da uno dei seguenti:
- A user should not have been removed from the sudo or admin group.
- The /etc/sudoers file was altered to prevent users in sudo or admin group from elevating their privileges to that of root using sudo command.
- The permission on /etc/sudoers file is not set to 0440.
Per eseguire attività cruciali sul tuo sistema come visualizzare o modificare file di sistema importanti o aggiornare il sistema, è necessario il comando sudo per ottenere i privilegi di super utente. Cosa succede se ti viene negato l'utilizzo di sudo a causa di uno o più dei motivi che abbiamo menzionato sopra.
Di seguito un'immagine che mostra un caso in cui all'utente di sistema predefinito viene impedito di eseguire il comando sudo :
[email protected] ~ $ sudo visudo [ sudo ] password for aaronkilik: aaronkilik is not in the sudoers file. This incident will be reported. [email protected] ~ $ sudo apt install vim [ sudo ] password for aaronkilik: aaronkilik is not in the sudoers file. This incident will be reported.
Come correggere il comando rotto sudo in Ubuntu
Se sul tuo computer è in esecuzione solo Ubuntu , dopo averlo acceso, premi il tasto Maiusc
per alcuni secondi per ottenere l'avvio Grub menu. D'altra parte, se stai eseguendo un dual-boot (Ubuntu accanto a Windows o Mac OS X ), dovresti vedere il menu di avvio di Grub per impostazione predefinita.
Utilizzando Freccia giù
, seleziona " Opzioni avanzate per Ubuntu " e premi Invio .

Sarai nell'interfaccia sotto, seleziona il kernel con l'opzione " modalità di recupero " come sotto e premi Invio per avanzare al menu " Ripristino ”.

Di seguito è riportato il " menu di recupero ", che indica che il filesystem di root è montato in sola lettura. Passa alla riga " Passa alla sessione principale di Drop to root shell ", quindi premi Invio .

Successivamente, premi Invio per la manutenzione:

A questo punto, dovresti essere al prompt della shell root . Come abbiamo visto prima, il filesystem è montato in sola lettura, quindi, per apportare modifiche al sistema che dobbiamo rimontare è come letto/scrittura eseguendo il comando seguente:
# mount -o rw,remount /
Supponendo che un utente sia stato rimosso dal gruppo sudo, per aggiungere l'utente al gruppo sudo emettere il seguente comando:
# adduser username sudo
rosso
Oppure, a condizione che un utente sia stato rimosso dal gruppo admin, eseguire il seguente comando:
# adduser username admin
Partendo dal presupposto che il file /etc/sudoers
è stato modificato per impedire agli utenti del gruppo sudo o admin di elevare i loro privilegi a quello di un super utente, quindi eseguire un backup dei file sudoers come segue:
# cp /etc/sudoers /etc/sudoers.orginal
Successivamente, apri il file sudoers .
# visudo
e aggiungi il contenuto di seguito:
# # 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/sbi$ # 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
Supponiamo che l'autorizzazione per il file /etc/sudoers non sia impostata su 0440 , quindi esegui il seguente comando per renderlo corretto:
# chmod 0440 /etc/sudoers
Ultimo ma non meno importante, dopo aver eseguito tutti i comandi necessari, digita il comando exit
per tornare al menu Recovery :
# exit
Utilizza il Freccia destra
per selezionare & lt; Ok & gt;
e premi Invio :

Premi & lt; Ok & gt;
per continuare con la normale sequenza di avvio:

Sommario
Questo metodo dovrebbe funzionare bene soprattutto quando è coinvolto un account utente amministrativo, in cui non esiste altra opzione se non quella di utilizzare la modalità di ripristino.
Tuttavia, se non riesce a funzionare per te, prova a tornare da noi esprimendo la tua esperienza attraverso la sezione di feedback qui sotto. Puoi anche offrire suggerimenti o altri modi per risolvere il problema o migliorare completamente questa guida.