Come usare i comandi Sudo in Linux ed i permessi di Root
Quando iniziamo ad utilizzare quotidianamente una distribuzione GNU/Linux uno dei primi comandi che ci ritroveremo nelle guide sul web è sudo: questo comando a molti non indica nulla, ma è probabilmente il comando più importante presente sulle moderne distribuzioni Linux, visti i privilegi che offre agli utenti quando lanciano specifici comandi da terminale.
Nella guida che segue vi mostreremo nel dettaglio che cos'è sudo in Linux e come si usa nelle faccende di tutti i giorni, scoprendo così anche i suoi limiti e i suoi punti di forza rispetto al comando a cui si ispira (ossia su, il comando per richiamare in ogni momento il superutente root).
LEGGI ANCHE -> 10 errori da evitare se si usa Linux
Comprendere i permessi e la sicurezza in Linux
Chi si avvicina al mondo del pinguino dopo anni di utilizzo di Windows nota immediatamente una gestione dei permessi molto più rigida. Non è possibile modificare file di sistema, installare applicazioni o cambiare configurazioni critiche senza un'autorizzazione esplicita. Questa struttura a livelli è il motivo principale per cui i sistemi Linux sono intrinsecamente più sicuri: un malware o un errore umano difficilmente possono danneggiare il cuore del sistema operativo se non hanno i privilegi per farlo.
Per operare come amministratori senza essere costantemente loggati come tali (pratica rischiosa), si utilizza sudo. Capire come funziona non è solo una necessità tecnica, ma il primo passo per seguire la rotta di Navigaweb verso una gestione consapevole e professionale della propria macchina, evitando di trasformare un sistema stabile in un colabrodo digitale.
Cosa significa e come agisce Sudo
Il termine sudo sta per "SuperUser DO" (o talvolta interpretato come "Substitute User Do"), che in italiano possiamo tradurre con esegui come superutente. Nella maggior parte delle distribuzioni moderne, come Ubuntu, Fedora o Linux Mint, l'account di amministrazione vero e proprio (chiamato Root) è disabilitato per default per motivi di sicurezza.
Invece di accedere come Root, si utilizza il proprio account utente standard. Quando serve eseguire un'operazione delicata, si antepone la stringa sudo al comando. Il sistema chiederà la password del proprio utente (non quella di root) e, se l'utente fa parte della lista degli autorizzati (il file sudoers), il comando verrà eseguito con i privilegi più alti possibili.
Una caratteristica importante è la "memoria temporanea": dopo aver inserito la password, sudo la ricorda per un breve periodo (solitamente 15 minuti). Questo permette di lanciare più comandi in sequenza senza dover digitare la password ogni volta. Scaduto il tempo, o chiusa la finestra del terminale, i privilegi decadono automaticamente.
Le differenze tecniche tra Sudo e Su
Spesso si fa confusione tra sudo e su, poiché entrambi sembrano fare la stessa cosa. In realtà agiscono in modi profondamente diversi:
- sudo (SuperUser Do): concede privilegi elevati solo per il singolo comando lanciato. L'ambiente di lavoro (le variabili d'ambiente come la cartella home) rimane in gran parte quello dell'utente originale. È il metodo raccomandato per la quasi totalità delle operazioni.
- su (Substitute User): serve a cambiare identità . Digitando
susenza argomenti, si tenta di diventare l'utente Root a tutti gli effetti. Viene richiesta la password di Root (che spesso non è impostata su Ubuntu e derivate). Una volta entrati, si rimane Root finché non si digitaexit. - sudo -i o sudo -s: queste sono le varianti moderne preferibili a
su. Permettono di ottenere una shell di root permanente usando la propria password utente, simulando un login completo come amministratore ma mantenendo traccia delle azioni nei log di sistema.
Gestione della password e risoluzione problemi
La gestione delle credenziali è un punto critico. Di default, la password richiesta da sudo è quella di login dell'utente corrente. Tuttavia, possono verificarsi situazioni in cui è necessario cambiarla o reimpostarla, specificamente per l'account di root se si decide di attivarlo (operazione sconsigliata ai meno esperti).
Cambiare la password utente e root
Se si desidera cambiare la propria password (che è anche quella usata per sudo), il comando da terminale è semplice:
passwd
Se invece si ha la necessità di impostare una password specifica per l'utente Root (per abilitare l'uso di su), si deve usare:
sudo passwd root
Il sistema chiederà prima la password utente (per verificare l'autorizzazione sudo) e poi due volte la nuova password da assegnare all'account Root.
Il problema delle applicazioni grafiche
In passato era comune consigliare comandi come sudo gedit o sudo nautilus per aprire file di testo o cartelle con privilegi elevati. Questa pratica è oggi sconsigliata e spesso bloccata nelle nuove versioni di Wayland e delle interfacce grafiche. Lanciare programmi grafici con sudo può corrompere i permessi dei file nella cartella home, impedendo successivi accessi.
Per modificare file di sistema, si dovrebbe usare un editor da terminale come nano:
sudo nano /etc/file-da-modificare
Se è indispensabile usare l'interfaccia grafica, si può ricorrere al protocollo admin://. Ad esempio, per aprire una cartella come amministratore senza usare il terminale, in molti file manager basta premere CTRL+L e digitare admin:///percorso/cartella.
I comandi essenziali da memorizzare
Ecco una lista aggiornata delle operazioni che richiedono frequente uso di privilegi elevati, con la sintassi corretta per le distribuzioni basate su Debian/Ubuntu:
- sudo apt update: aggiorna l'elenco dei pacchetti disponibili dai server remoti. È la prima cosa da fare prima di qualsiasi installazione.
- sudo apt full-upgrade: installa le ultime versioni di tutti i pacchetti e gestisce anche le dipendenze in caso di cambi di versione (più completo del semplice upgrade).
- sudo apt install nomepacchetto: installa un nuovo software. Esempio:
sudo apt install vlc. - sudo apt autoremove: rimuove i pacchetti orfani, ovvero librerie installate come dipendenze di programmi che ora non ci sono più. Fondamentale per la pulizia.
- sudo systemctl restart servizio: riavvia un servizio di sistema (es. il bluetooth o il server web). Systemd è ormai lo standard per gestire i processi in background.
- sudo shutdown now: spegne il computer immediatamente.
- sudo !!: un "trucco" storico. Se si digita un comando e si riceve errore perché si è dimenticato "sudo", digitando
sudo !!il sistema ripeterà l'ultimo comando scritto aggiungendo sudo all'inizio.
Dubbi e curiosità (People Also Ask)
Per completare la panoramica, analizziamo i dubbi più comuni che emergono nelle ricerche online relative all'amministrazione Linux:
- Come aggiungere un utente ai sudoers?
Se si crea un nuovo utente e si vuole che possa usare sudo, bisogna aggiungerlo al gruppo apposito. Il comando èsudo usermod -aG sudo nomeutente. - Come disattivare la richiesta password per sudo?
È possibile ma riduce la sicurezza. Si deve modificare il file sudoers digitandosudo visudoe modificando la riga dell'utente aggiungendo NOPASSWD. Modificare questo file richiede estrema attenzione: un errore di sintassi può bloccare l'accesso amministrativo al sistema. - Perché sudo non accetta la password corretta?
Spesso succede se il layout della tastiera è cambiato inavvertitamente e si stanno digitando caratteri speciali diversi. Altra causa può essere l'account bloccato per troppi tentativi errati. - Esiste sudo su Windows?
Windows utilizza il comando "Esegui come amministratore" o UAC. Tuttavia, esistono utility come gsudo che portano la stessa funzionalità nel terminale o in PowerShell.
Se tutti questi comandi vi sembrano difficili da memorizzare, conviene leggere subito il nostro approfondimento Quanto è difficile passare a Linux?
Sempre a tema Linux vi invitiamo a leggere le nostre guide Le directory di Linux: quali sono le cartelle principali di ogni distribuzione e Migliori Distribuzioni Linux per tutti i computer ed esigenze.
Posta un commento