Ricerca nel sito web

Correzione del problema "Il nome utente non è nel file Sudoers". Questo incidente verrà segnalato


Nei sistemi Unix/Linux, l'account utente root è l'account superutente e può quindi essere utilizzato per fare qualsiasi cosa sia realizzabile sul sistema.

Tuttavia, questo può essere molto pericoloso in molti modi: ad esempio, l'utente root potrebbe inserire un comando sbagliato e danneggiare l'intero sistema, oppure un utente malintenzionato potrebbe accedere a un account utente root e prendere il controllo. dell’intero sistema e chissà cosa può fare.

In base a questo contesto, in Ubuntu e nei derivati di Ubuntu, l'account utente root è bloccato per impostazione predefinita, gli utenti normali (amministratori di sistema o meno) possono ottenere i privilegi di superutente solo utilizzando il comando comando sudo.

E una delle cose peggiori che possono accadere a un amministratore di sistema Ubuntu è perdere i privilegi per utilizzare il comando sudo, una situazione comunemente definita "sudo rotto". Questo può essere assolutamente devastante.

Un sudo non funzionante può essere causato da uno dei seguenti motivi:

  • Un utente non dovrebbe essere stato rimosso dal gruppo sudo o admin.
  • Il file /etc/sudoers è stato modificato per impedire agli utenti del gruppo sudo o admin di elevare i propri privilegi a quelli di root< utilizzando il comando sudo.
  • L'autorizzazione sul file /etc/sudoers non è impostata su 0440.

Per eseguire attività cruciali sul tuo sistema come visualizzare o modificare file di sistema importanti o aggiornare il sistema, hai bisogno del comando sudo per ottenere i privilegi di superutente. Cosa succede se ti viene negato l'utilizzo di sudo a causa di uno o più dei motivi menzionati sopra.

Di seguito è riportata un'immagine che mostra un caso in cui all'utente predefinito del sistema viene impedito di eseguire il comando sudo:

tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

Come risolvere il comando sudo rotto in Ubuntu

Se ti capita di eseguire solo Ubuntu sul tuo computer, dopo averlo acceso, premi il tasto Shift per alcuni secondi per avviare Grub menù. D'altra parte, se stai utilizzando un dual-boot (Ubuntu insieme a Windows o Mac OS X), dovresti vedere il menu di avvio di Grub per impostazione predefinita.

Utilizzando la Freccia giù, seleziona "Opzioni avanzate per Ubuntu" e premi Invio.

Ti troverai nell'interfaccia sottostante, seleziona il kernel con l'opzione “modalità di ripristino” come di seguito e premi Invio per avanzare al “menu di ripristino >”.

Di seguito è riportato il "Menu di ripristino", che indica che il filesystem root è montato in sola lettura. Passa alla riga "root Drop to root shell prompt", quindi premi Invio.

Successivamente, premi Invio per la manutenzione:

A questo punto dovresti trovarti al prompt della shell root. Come avevamo visto prima, il filesystem è montato in sola lettura, quindi per apportare modifiche al sistema dobbiamo rimontarlo in lettura/scrittura eseguendo il comando seguente:

mount -o rw,remount /

Risoluzione del caso n. 1: aggiunta dell'utente al gruppo sudo o admin

Supponendo che un utente sia stato rimosso dal gruppo sudo, per aggiungere nuovamente l'utente al gruppo sudo eseguire il comando seguente:

adduser username sudo

Nota: ricorda di utilizzare il nome utente effettivo del sistema, nel mio caso è aaronkilik.

Oppure, a condizione che un utente sia stato rimosso dal gruppo admin, esegui il seguente comando:

adduser username admin

Risoluzione del caso n. 2: concessione dei privilegi sudo agli utenti

Supponendo che il file /etc/sudoers sia stato modificato per impedire agli utenti del gruppo sudo o admin di elevare i propri privilegi a quelli di un super utente, quindi esegui 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

Risoluzione del caso n. 3: impostazione dell'autorizzazione corretta sul file sudoers

Supponendo che l'autorizzazione sul file /etc/sudoers non sia impostata su 0440, esegui il comando seguente per correggerla:

chmod  0440  /etc/sudoers

Ultimo ma non meno importante, dopo aver eseguito tutti i comandi necessari, digita il comando exit per tornare al “Menu di ripristino”:

exit 

Utilizza la Freccia destra per selezionare e premi Invio:

Premi per continuare con la normale sequenza di avvio:

Riepilogo

Questo metodo dovrebbe funzionare bene soprattutto quando è coinvolto un account utente amministrativo, dove non c'è altra opzione se non quella di utilizzare la modalità di ripristino.

Tuttavia, se non funziona per te, prova a contattarci esprimendo la tua esperienza tramite la sezione feedback di seguito. Puoi anche offrire suggerimenti o altri modi possibili per risolvere il problema in questione o migliorare del tutto questa guida.