Come aggiungere un utente al gruppo Root e concedere privilegi in Linux (in modo sicuro)

La concessione dei privilegi di livello root a un utente in un sistema Linux è un’operazione potente e pericolosa. È essenziale quando si gestiscono i server, l’automazione o si dà il pieno controllo ai sysadmin, ma deve essere fatto in modo corretto e sicuro per evitare di esporre il sistema a vulnerabilità o errori irreversibili.

In questo articolo, analizzeremo come aggiungere un utente al gruppo di root, come concedere i privilegi di root e come illustrare le migliori pratiche e le implicazioni per la sicurezza.

🧠 Capire i privilegi di Linux e il gruppo di root

In Linux, root è il superutente con accesso illimitato. Tuttavia, gli utenti normali non dovrebbero mai operare direttamente come root. I privilegi possono invece essere delegati utilizzando:

  • Il meccanismo sudo (tramite /etc/sudoers o /etc/sudoers.d/)
  • Accesso basato su gruppi (assegnando gli utenti al gruppo root o sudo, a seconda della distribuzione)

⚠️ Prima di iniziare

  • È necessario disporre dell’accesso sudo o root.
  • Utilizzate questi passaggi solo per gli utenti fidati.
  • Creare sempre un backup o un test in un ambiente sandbox.

🛠️ Passo dopo passo: Aggiunta di un utente al gruppo Root e concessione di privilegi

🔹 Passo 1: Creare l’utente (se non esiste)

sudo adduser alice
nome utente: alice (potete scegliere il vostro nome utente)

Verrà richiesto di impostare una password e dei metadati opzionali per l’utente alice.

🔹 Passo 2: Aggiungere l’utente alla radice o al gruppo Sudo

Sui sistemi basati su Debian/Ubuntu, si usa il gruppo sudo:

sudo usermod -aG sudo alice

Su RHEL/CentOS/Fedora, si usa il gruppo wheel:

sudo usermod -aG wheel alice

wheel è un gruppo Unix tradizionale usato per l’accesso amministrativo.

Se si vuole aggiungere l’utente direttamente al gruppo root (non è raccomandato):

sudo usermod -aG root alice

questo potrebbe rompere i confini della sicurezza, soprattutto se la configurazione di PAM o SSH tratta root in modo diverso.

🔹 Passo 3: verificare l’appartenenza al gruppo

groups alice

Risultato atteso:

🔹 Passo 4: concedere o modificare i privilegi di Sudo (facoltativo ma più sicuro)

Per concedere esplicitamente i privilegi tramite sudo:

  1. Modificare il file sudoers in modo sicuro con visudo:
    sudo visudo
  2. Aggiungere:
    alice ALL=(ALL) NOPASSWD:ALL

🔐 È possibile limitare i comandi o aggiungere una password, se necessario:

alice ALL=(ALL) ALL

✅ Bonus: verifica dei privilegi

Accedere o passare all’utente:

su - alice

Verificare l’accesso come root:

sudo whoami

Risultato atteso:

🚫 Avviso di sicurezza: Non fatelo con leggerezza

  • Evitare di aggiungere utenti al gruppo root vero e proprio, a meno che non sia necessario per la compatibilità con il passato.
  • Preferite il gruppo sudo o wheel con comandi limitati usando le regole di sudoers.
  • Monitorare i log tramite:
    sudo journalctl -xe | grep alice

🔐 Suggerimento avanzato: Concedere i privilegi di root solo per comandi specifici

In /etc/sudoers o /etc/sudoers.d/alice:

alice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

Questo permette all’utente di riavviare solo Nginx – un approccio più sicuro.

🧩 Risoluzione dei problemi

ProblemaSoluzione
L’utente non riesce ancora a eseguire sudoUscire e rientrare (o riavviare la sessione)
“L’utente non è presente nel file sudoers”Controllare la sintassi di /etc/sudoers tramite visudo
SSH non permette il loginControllare /etc/ssh/sshd_config per AllowGroups

Passo 5: rimozione di un utente dal gruppo sudo o root

Se è necessario revocare i privilegi sudo o root a un utente, è possibile rimuoverlo dal rispettivo gruppo con il seguente comando:

Rimozione di un utente dal gruppo sudo

sudo deluser username sudo

Sostituire username con il nome dell’utente. Questo comando rimuove l’utente dal gruppo sudo, revocando la sua capacità di eseguire comandi come superutente.

Rimozione di un utente dal gruppo root

sudo deluser username root

conclusione

L’aggiunta di un utente al gruppo root o la concessione dei privilegi di root in Linux è semplice nell’esecuzione, ma complessa nell’impatto. Per garantire sicurezza e stabilità a lungo termine:

  • Usare sudo, non l’accesso diretto a root.
  • Applicare il principio del minimo privilegio.
  • Monitorare regolarmente l’uso e i registri di controllo.

🛡️ Ricordate: Da un grande potere derivano grandi responsabilità, soprattutto su un server di produzione.