Permesso di root in Linux: cos'è, a cosa serve e come usarlo in sicurezza

Ultimo aggiornamento: 17 marzo 2026
  • L'utente root è il superutente di Linux con il controllo totale sul sistema, al di sopra di qualsiasi normale restrizione di autorizzazione.
  • La prassi comune è quella di non accedere come root, ma di utilizzare sudo o su per ottenere privilegi elevati in modo controllato e temporaneo.
  • Un uso imprudente dei privilegi di root può cancellare il sistema, installare malware o compromettere la sicurezza, quindi è meglio ridurne al minimo l'utilizzo e rivedere i comandi.
  • Una corretta configurazione di sudoers, il blocco dell'account root e l'adozione delle migliori pratiche consentono un'amministrazione Linux sicura e tracciabile.

A cosa serve l'utente root in Linux?

Se provenite da Windows (vedi account utente in Windows ) e passate a Linux, il famoso utente root potrebbe sembrarvi un termine incomprensibile, ma in realtà è l'elemento chiave che distingue un sistema stabile e sicuro da un disastro completo. Root è il "capo assoluto" del sistema, colui che può installare, eliminare, danneggiare e riparare praticamente qualsiasi cosa senza chiedere autorizzazione.

Comprendere lo scopo di root in Linux, la sua relazione con `sudo` e `su` e i rischi associati è fondamentale per la gestione del sistema, che si tratti di un laptop domestico o di un server di produzione . Questo articolo spiegherà, in dettaglio e con un linguaggio accessibile, cos'è root, come viene utilizzato nelle diverse distribuzioni (in particolare Ubuntu), i suoi potenziali pericoli e le migliori pratiche per evitare di rendere inutilizzabile il computer.

Cos'è l'utente root in Linux e cosa lo rende speciale?

In qualsiasi sistema GNU/Linux, esiste un utente con privilegi completi chiamato root, noto anche come superutente . Questo utente ha UID 0 e non è soggetto alle normali restrizioni di accesso a file e processi: può leggere, modificare o eliminare qualsiasi file, installare o disinstallare software, modificare le impostazioni di sistema, gestire altri utenti e accedere a servizi critici.

Se lo paragoniamo a Windows, root sarebbe l'equivalente di Administrator, ma con ancora più poteri.Perché in Linux il modello dei permessi è più raffinato e la separazione tra utenti e servizi è molto più rigida. Mentre un utente normale è limitato in ciò che può fare in percorsi come /etc, /usr, /var o /bootL'accesso root ti permette di entrare ovunque senza chiedere il permesso.

Oltre agli utenti regolari e all'utente root, Linux definisce gli "utenti di sistema" o account di servizio (daemon) con permessi molto limitati, utilizzati per eseguire server web, database o altri daemon. Ciò garantisce che, anche se un servizio viene compromesso, l'attaccante non ottenga automaticamente l'accesso completo al sistema... a meno che non riesca a elevare i privilegi fino a ottenere l'utente root.

Per impostazione predefinita, un utente standard non può installare programmi di sistema, modificare file di configurazione globali o creare directory in aree riservate.Per eseguire una qualsiasi di queste attività, sarà necessario elevare i privilegi utilizzando strumenti come sudo o suche sono precisamente i meccanismi usuali per "invocare" il superutente in modo controllato.

In molte distribuzioni moderne, soprattutto Ubuntu e i suoi derivati, l'accesso diretto come root è disabilitato.Invece, durante l'installazione viene creato un utente normale che appartiene al gruppo degli amministratori (ad esempio, sudo o admin) e il comando viene utilizzato sudo per eseguire azioni amministrative richiedendo la propria password, non la password di root.

Utente root con privilegi di superutente in Linux

Differenza tra utenti normali, root e il gruppo sudo

Linux implementa un sistema di permessi basato su utenti e gruppi . In linea generale, possiamo distinguere tre tipi principali di account che incontrerai quotidianamente quando parli di root:

Utenti regolariQuesti sono i resoconti delle persone che utilizzano il sistema. Hanno un casa Possono installare programmi nella propria directory, eseguire applicazioni desktop, salvare documenti, ecc. Tuttavia, Non sono in grado di svolgere attività amministrative di sistema. come installare pacchetti globali, modificare le configurazioni in /etc o gestire altri utenti, a meno che non utilizzino sudo o su.

L'utente root è il superutente con il controllo assoluto. Non è soggetto ad alcuna restrizione di permessi, ad eccezione di quelle imposte dal kernel stesso o da meccanismi di sicurezza avanzati . Può letteralmente "fare ciò che vuole", dalla cancellazione della directory root alla modifica dei permessi di qualsiasi file. Proprio per questo motivo, il suo utilizzo per le attività quotidiane è sconsigliato.

Utenti amministratori (sudoers): sono utenti normali che appartengono a un gruppo speciale (di solito sudo o admin) Y Hanno il permesso di eseguire comandi come root utilizzando sudoAd esempio, per aggiungere un utente al gruppo sudo Puoi usare qualcosa del genere:
sudo usermod -aG sudo nombreusuario

Una volta che un utente fa parte del gruppo sudo, può eseguire comandi privilegiati anteponendo sudoIl sistema richiederà la tua password (non la password di root) e, se corretta, eseguirà il comando con i privilegi di superutente. Questo offre un buon equilibrio tra sicurezza e praticità.

Che cos'è la radice nella pratica e a cosa serve?

Al di là della teoria, l'utente root è l'identità che il sistema utilizza per apportare modifiche sostanziali . Puoi continuare a lavorare con il tuo normale account utente e accedere a root solo quando necessario. Vediamo alcuni dei suoi principali utilizzi.

Installare o disinstallare il software di sistemaGestori di pacchetti (come ad esempio) apt, dnf o pacmanDevono scrivere su percorsi protetti, quindi Vengono sempre eseguiti con privilegi di root.Un esempio tipico sarebbe:
sudo apt install vlc

Modificare i file di configurazione del sistemaLa maggior parte dei servizi e dei programmi di sistema vengono configurati tramite file di testo in directory come /etcPer aprirli con un editor e salvarli, sono necessari privilegi elevati. Ad esempio:
sudo nano /etc/hosts

Cambia la password di root o le password degli altri utenti.Operazioni come la modifica della password del superutente o di un altro account implicano l'accesso al database delle password del sistema. Un comando tipico sarebbe:
sudo passwd root

Eseguire comandi potenzialmente pericolosi. Strumenti come rm (eliminare), chmod (modificare i permessi), chown (cambiare proprietario) o mkfs (La formattazione) può causare molti danni se usata in modo improprio. Il sistema richiede i permessi di root per le operazioni che interessano file o dispositivi critici. per impedire a un utente normale di distruggere accidentalmente il sistema.

  Come verificare se TeamViewer è aggiornato e come proteggerlo dalle vulnerabilità

Gestire l'avvio, l'arresto e il riavvio della macchinaComandi come reboot, poweroff o gestione avanzata di systemctl informazioni sui servizi di sistema Richiedono inoltre i privilegi di superutente.. Per maggiori informazioni su systemd e la sua gestione dei servizi È possibile consultare la documentazione specializzata. In alternativa, qualsiasi utente potrebbe riavviare un server di produzione in qualsiasi momento.

In pratica, se qualcosa fallisce con un errore "permesso negato" in Linux, è molto probabile che sia necessario eseguirlo con i privilegi di root. utilizzando sudo o passando temporaneamente a superutente con su.

Comandi sudo e su: quando utilizzare ciascuno

Una volta compreso che root è il "proprietario" del sistema, è il momento di capire come ottenere tali privilegi dal proprio account utente normale.I due strumenti classici per questo sono sudo y suche non svolgono esattamente la stessa funzione, sebbene molte persone le confondano.

sudo ("superuser do") viene utilizzato per eseguire un singolo comando con i permessi di un altro utente, solitamente root.Non si cambia sessione, non si diventa root "per tutto"; solo quel comando specifico viene eseguito con privilegi elevati. Ad esempio:
sudo apt install gparted

Ogni volta che usi sudo Il sistema ti chiederà la password (se non l'hai inserita di recente).Dopo alcuni minuti di inattività, il "ticket" di sudo scade e sarà necessario autenticarsi nuovamente, il che aggiunge un importante livello di sicurezza.

su (con il comando "cambia utente") modifica la tua identità utente all'interno della stessa sessioneSe lo usi senza argomenti, diventerai root (ti verrà chiesta la password di root) e tutti i comandi successivi verranno eseguiti con tali privilegi fino alla tua uscita. exit. Ad esempio:
su
Contraseña:
whoami # devuelve 'root'

Puoi anche usare su nombreusuario passare da un utente all'altroa condizione che tu conosca la password per l'account di destinazione. Ciò cambierà completamente l'ambiente in quello del nuovo utente (variabili, casaecc.) si consiglia di utilizzare su - o su - nombreusuario.

In generale, è considerato più sicuro e più consigliabile utilizzare sudo per comandi specifici e ricorrere a su solo quando è realmente necessaria una sessione root prolungata (ad esempio, in operazioni di ripristino o manutenzione complessa).

Particolarità di root in Ubuntu e nelle distribuzioni derivate

Ubuntu e molte distribuzioni basate su Ubuntu seguono una filosofia di sicurezza piuttosto chiara: l'utente root esiste, ma non è possibile accedervi direttamente . Ciò significa che, dopo un'installazione standard, non è possibile accedere come root, né tramite terminale né tramite ambiente grafico, utilizzando una password, perché non gliene è stata assegnata una.

Ubuntu invece opta per l'uso intensivo di sudoDurante il processo di installazione viene creato un utente amministratore che appartiene al gruppo sudoDa lì, qualsiasi operazione amministrativa viene eseguita con:
sudo comando

Se hai bisogno di una shell root "completa" in Ubuntu, hai a disposizione diverse opzioni sicure.:
sudo -i # Apri una sessione di login root
sudo su - # Passa all'ambiente root con login

Entrambi i metodi ti lasciano come root in quel terminale finché non esci con exitVedrai che il prompt di solito cambia e termina in # al posto di $Questo è un classico segnale che indica che si dispone di privilegi di superutente. È importante tenerlo presente per evitare di eseguire comandi pericolosi in aree non autorizzate.

Sebbene non sia consigliato, è possibile abilitare l'utente root in Ubuntu assegnandogli una password. con:
sudo passwd root
Dopo aver inserito e confermato la nuova password, il root verrà "sbloccato" e sarà possibile, ad esempio, utilizzare su senza previa autorizzazione sudo o addirittura consentendo l'accesso diretto tramite TTY o SSH (cosa fortemente sconsigliata sui server esposti).

Rischi reali derivanti dall'uso improprio della radice

Lavorare come root senza sapere esattamente cosa si sta facendo è come guidare un camion in retromarcia in autostrada: potrebbe anche funzionare, ma se si perde la concentrazione anche solo per un secondo, sarà un disastro . Linux è progettato per essere piuttosto sicuro di default, ma non appena si elevano i privilegi, molte protezioni scompaiono.

Il primo rischio principale è la cancellazione o il danneggiamento accidentale del file system.Comandi come:
rm -rf /
rm -rf /*
o costruzioni ancora più sottili come:
rm -rf "$directorio"/*
Possono distruggere l'intero sistema in pochi secondi se vengono eseguiti come root e il percorso non è quello previsto.A volte basta una variabile vuota, una barra fuori posto o un tasto Tab premuto nel posto sbagliato per trasformare un comando apparentemente innocuo in una catastrofe.

Il secondo pericolo principale è l'installazione di malware con privilegi di amministratore . Scaricare ed eseguire script da internet come root senza esaminarne il codice è come dare le chiavi di casa a uno sconosciuto. Uno script dannoso può installare rootkit , keylogger o backdoor, modificare il kernel, spiare ogni vostra attività e rimanere nascosto per lungo tempo.

  Guida completa alla gestione dei dispositivi mobili (MDM)

È inoltre relativamente facile compromettere la sicurezza del sistema manomettendo i permessi dei file critici.Ad esempio, se esegui qualcosa del genere:
chmod 000 /etc -R
oppure puoi modificare le autorizzazioni di /boot o di /etc/passwd senza sapere cosa stai facendo, È possibile rendere la macchina non avviabile o impedire l'autenticazione dell'utente.In molti casi, l'unica soluzione è utilizzare un LiveCD o addirittura reinstallare il sistema operativo.

Dal punto di vista della sicurezza, operare sempre come root rende quell'account un singolo punto di vulnerabilità . Se un malintenzionato ottiene l'accesso root (tramite attacchi di forza bruta, phishing, malware, ecc.), ha il controllo completo: può crittografare i dischi, rubare dati, unirsi a una botnet o utilizzare il server per attaccare terze parti. Per mitigare questi rischi, è consigliabile valutare tecniche di hardening con SELinux e altri meccanismi di protezione.

Inoltre, l'uso intensivo della radice rende difficile la tracciabilità.Quando i comandi vengono eseguiti con sudoIl sistema registra chi li ha avviati e quando, mentre se tutto viene eseguito come root non è chiaro chi si cela dietro ogni azione, il che complica le verifiche e la diagnosi dei problemi.

Mostra gli asterischi quando digiti la password sudo

Di default, quando si inserisce la password di sudo in molte distribuzioni (come Ubuntu), non vengono visualizzati punti o asterischi . Questa era stata pensata come misura di sicurezza per impedire a chiunque di dedurre la lunghezza della password semplicemente guardando lo schermo, ma in pratica risulta piuttosto scomoda: si digita e apparentemente non succede nulla.

Da qualche tempo ormai, sudo ha permesso l'attivazione di un comportamento chiamato pwfeedbackVisualizza un asterisco per ogni carattere digitato. Non rivela la password, ma conferma che la tastiera risponde e aiuta a individuare gli errori di battitura.

Per attivarlo, è necessario modificare la configurazione di sudo utilizzando lo strumento sicuro visudoQuesto convalida la sintassi prima del salvataggio per evitare che tu perda i privilegi di sudo a causa di un errore banale. I passaggi sarebbero:

1. Apri le impostazioni di sudo:
sudo visudo

2. Aggiungi la riga:
Defaults pwfeedback

3. Salva ed esci dall'editor

Da quel momento in poi, ogni volta che inserirai la password di sudo, appariranno degli asterischi.Se in qualsiasi momento desideri ripristinare il comportamento originale, è sufficiente rimuovere quella riga utilizzando `return`. visudo.

Disabilita o blocca l'account root

In ambienti in cui più persone hanno accesso allo stesso computer, la password di root può facilmente essere utilizzata in modo improprio . Se troppe persone conoscono quella password, è solo questione di tempo prima che qualcuno causi (o subisca) un grave problema. Una soluzione molto ragionevole è disabilitare l'account root e utilizzare solo sudo.

Quando blocchi l'account root, impedisci agli utenti di accedere direttamente con le credenziali di quell'utente. e inoltre ne impedisci l'utilizzo su Per ottenere l'accesso root con la tua password. Tuttavia, Gli utenti autorizzati potranno comunque utilizzare sudo per eseguire ordini privilegiati.

Per bloccare l'account root in molte distribuzioni, è sufficiente eseguire:
sudo passwd -l root

Questo comando "congela" la password di root in modo che non possa essere utilizzataSe in seguito dovessi riattivarlo, dovrai impostare una nuova password simile a questa:
sudo passwd root

Recupera o cambia la tua password di root se l'hai persa

Se hai dimenticato la password di root o hai bloccato il tuo account e devi recuperarla, non tutto è perduto . Linux offre diversi modi per reimpostarla, solitamente avviando il sistema in una modalità speciale o utilizzando un LiveCD.

Un'opzione molto comune è quella di farlo da GRUB, utilizzando la modalità di ripristino . Molte distribuzioni hanno una voce "Opzioni avanzate" dove è possibile scegliere "Modalità di ripristino". Selezionandola, viene caricato un ambiente limitato con opzioni di ripristino.

Se si sceglie l'opzione per ottenere una console root in modalità di ripristino , la procedura standard è solitamente la seguente:

1. Monta il file system con permessi di scrittura:
mount -o rw,remount /

2. Imposta una nuova password per l'utente root:
passwd root

3. Sincronizza i dati e riavvia il sistema per applicare le modifiche:
sync
reboot

L'altro metodo principale consiste nell'avviare il sistema da un LiveCD o LiveUSB di una distribuzione Linux (ad esempio, Ubuntu in modalità "Prova senza installare") e lavorare sul sistema installato dall'esterno.

In uno scenario tipico con un LiveCD, i passaggi sarebbero :

1. Apri un terminale e ottieni una shell root temporanea:
sudo su

2. Identifica la partizione che contiene il tuo sistema Linux con qualcosa del genere:
fdisk -l

3. Monta quella partizione in una directory di lavoro (esempio utilizzando /dev/sda1):
mkdir /mnt/recover
mount /dev/sda1 /mnt/recover

4. Cambiare la directory radice del sistema nella directory montata con chroot:
chroot /mnt/recover

5. Da lì, usa passwd root per impostare una nuova password e, dopo aver effettuato il logout e riavviato il sistema, potrai accedere nuovamente normalmente.

Il file /etc/sudoers e come ottimizzare i permessi di root.

Uno degli aspetti più potenti (e delicati) della gestione della radice è il file /etc/sudoers, dove è definito chi può usare sudoQui è possibile personalizzare nel dettaglio l'accesso con privilegi elevati, specificando dove e quali comandi eseguire.

Molto importante: non modificare mai /etc/sudoers direttamente con qualsiasi editorUtilizzare sempre:
sudo visudo
perché questo strumento Verifica la sintassi prima di salvareUn errore in questo file può impedirti di usare sudo e con visudo In questo modo si riduce al minimo tale rischio.

  El Corte Inglés subisce un attacco informatico che espone i dati dei clienti

Contenuto tipico di /etc/sudoers un Ubuntu pulito include righe simili a:
root ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL

La prima opzione indica che l'utente root può eseguire qualsiasi comando su qualsiasi host come qualsiasi utente e gruppo.Il secondo fa la stessa cosa, ma per tutti gli utenti del gruppo. sudoIn questo modo, chiunque in quel gruppo ha il potere totale tramite sudo.

Per configurazioni più avanzate, sudoers consente di definire alias per utenti, comandi e gruppi di esecuzione , ad esempio:

User_Alias ADMINES = pepe, perico, andres
Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart
Runas_Alias WEB = www-data, apache

Con queste definizioni potresti, ad esempio, dare agli ADMINE il permesso di arrestare o riavviare il sistema senza password con una regola come:
ADMINES ALL = NOPASSWD: POWER

Etichette come NOPASSWD Consentono di eseguire determinati comandi con sudo senza dover digitare la password.Questo è molto utile negli script automatizzati, nelle integrazioni con altri sistemi o sui computer personali in cui si è l'unico utente.

Per curiosità, esiste un'opzione chiamata insults che, se lo aggiungi alle righe DefaultsFa sì che sudo ti "insulti" in inglese ogni volta che inserisci la password sbagliata.Non migliora la sicurezza, ma almeno ti strappa un sorriso in mezzo al lavoro.

Utilizzo dell'utente root per gestire file e permessi dal terminale.

In pratica, gran parte dell'utilizzo dell'utente root si concentra sulla gestione di file e permessi tramite il terminale . Con i privilegi di superutente, è possibile navigare nell'intero file system e modificare tutto ciò che serve, sempre con estrema cautela.

Alcuni comandi di base che diventano particolarmente sensibili come root sono:

ls: elenca file e directory. Come utente root potrai visualizzare anche file che altri utenti non possono elencare.

cp y mvPer copiare e spostare file o directory, usa `sudo`. Ad esempio, puoi usare `sudo` per spostare un font da... Descargas su /usr/share/fonts/ in modo che sia disponibile all'intero sistema.

rm: elimina file e cartelle. In combinazione con -r y -f È estremamente pericoloso utilizzarlo come root senza aver prima verificato il percorso.

chmod y chownQueste impostazioni modificano i permessi e la proprietà dei file. Sono essenziali per concedere l'accesso ai file a utenti specifici, ma un uso improprio può rendere il sistema insicuro o inutilizzabile.

Un esempio tipico di utilizzo dei permessi di root per installare un font di sistema sarebbe :

sudo cp ~/Descargas/Underdog.ttf /usr/share/fonts/
sudo chmod 644 /usr/share/fonts/Underdog.ttf

Il modo 644 Indica che il proprietario (root) può leggere e scrivere, mentre il gruppo e gli altri utenti possono solo leggere., sufficiente affinché il carattere funzioni ma senza consentire modifiche accidentali.

Le migliori pratiche quando si lavora con root, sudo e su

Operare con i privilegi di superutente non è una cosa da prendere alla leggera . Esistono diverse linee guida che, se comprese, vi risparmieranno molti problemi:

Riduci al minimo il tempo che passi come root. Utilizza sudo comando Quando possibile, evitate di aprire una sessione root persistente. Meno tempo trascorrete con privilegi completi, minore sarà la probabilità di commettere errori.

Evitate a tutti i costi di eseguire script provenienti da fonti dubbie con `sudo` . Se scaricate uno script da internet e la prima cosa che vedete è "eseguilo con `sudo`", apritelo con un editor di testo e leggetelo attentamente. Se non capite cosa fa, non eseguitelo.

Utilizza ambienti di test (macchine virtuali, container) per la sperimentazione . Se intendi modificare configurazioni sensibili, testare comandi complessi o eseguire script poco chiari, fallo prima su un sistema che puoi danneggiare in sicurezza. Puoi trovare guide sulla virtualizzazione sicura in Macchine virtuali e container.

Configurare sudo in modo granulare quando sono presenti più amministratori.Non è la stessa cosa per un utente che deve solo riavviare un servizio rispetto a qualcuno che ha bisogno del controllo completo. Usa /etc/sudoers limitare ciò che ogni persona può fare.

Monitorare i log di autenticazione (/var/log/auth.log o journalctlQuesto permette di vedere chi sta usando sudo, da dove e con quali comandi. È un modo semplice per rilevare comportamenti insoliti o abusi di privilegi.

Non navigare in internet, non aprire allegati e non eseguire applicazioni desktop come utente root . Se un'applicazione grafica viene compromessa mentre la esegui come superutente, l'attaccante avrà un enorme vantaggio.

In breve, l'utente root in Linux è uno strumento incredibilmente potente che va usato con cautela . Comprendere il suo scopo, quando usare `sudo` o `su`, come recuperare o bloccare l'account e come configurare `sudo` vi permetterà di gestire il vostro sistema in modo sicuro e con fiducia, sfruttando appieno la flessibilità di GNU/Linux senza rischiare la vita ogni volta che aprite il terminale.

Modalità Dio di Linux
Articolo correlato:
God Mode in Linux: root, backdoor e potere assoluto