Come appare il messaggio
$ sudo apt update
[sudo] password for anna:
anna is not in the sudoers file. This incident will be reported.Cause frequenti
- L'utente non è membro del gruppo
sudo. Su Debian il primo utente spesso non viene aggiunto se durante l'installazione è stata impostata una password di root. - L'utente è stato aggiunto al gruppo, ma la sessione attuale ha ancora la vecchia lista di gruppi. Serve un nuovo login.
- La riga
%sudo ALL=(ALL:ALL) ALLè stata rimossa o cambiata in/etc/sudoerso in un file di/etc/sudoers.d/. - Una regola per nome utente usa una grafia diversa, ad esempio un altro nome di dominio o maiuscole e minuscole.
Verifica
- Quali gruppi ha l'utente in questa sessione?
id - Chi è nel gruppo sudo?
getent group sudo - Quali regole sudo esistono? (serve root, usa su)
su -c 'grep -rvE "^(#|$)" /etc/sudoers /etc/sudoers.d/' - La sintassi di sudoers è valida?
su -c 'visudo -c'
Soluzione
- Diventa root con
su -(serve la password di root) oppure usa un altro account admin o la console. - Aggiungi l'utente:
usermod -aG sudo anna. Tieni la-a, altrimenti l'utente perde tutti gli altri gruppi. - Esci e rientra, o apri una nuova sessione SSH, poi controlla con
id. - Per cambiare le regole modifica solo con
visudoovisudo -f /etc/sudoers.d/nome. Controlla la sintassi prima di salvare. Un sudoers rotto può escluderti da sudo. - Se sudo non è installato, installalo come root:
apt install sudo.
Domande frequenti
Chi vede “This incident will be reported”?
Viene scritto nel log di sistema, di solito il log di autenticazione o il journal. Non viene inviato a nessuno in automatico. Un admin può trovarlo lì.
Perché la modifica al gruppo non vale subito?
L'appartenenza ai gruppi viene letta al login. Un terminale già aperto mantiene la vecchia lista finché non rientri.