Quando si parla di Linux, uno degli aspetti fondamentali della gestione dei permessi e dell’accesso al sistema è rappresentato dai comandi su e sudo. Sebbene spesso siano considerati intercambiabili, tuttavia esistono differenze sostanziali che meritano di essere esplorate. Questo articolo si propone di analizzare queste differenze e illustrare in modo dettagliato come e quando utilizzare ciascuno di essi.
Cosa sono su e sudo
Il comando su (abbreviazione di “Switch User”) consente agli utenti di passare a un altro utente all’interno di una sessione di login senza effettuare il logout. Viene frequentemente utilizzato per assumere i privilegi di root, il superuser del sistema, che ha accesso completo e privilegi illimitati. Tuttavia, è valido anche per altri utenti presentesul sistema.
D’altra parte, sudo (abbreviazione di “Superuser Do”) consente agli utenti di eseguire comandi come superuser. A differenza di su, sudo utilizza il profilo e le autorizzazioni dell’utente corrente e richiede la password dell’utente che sta eseguendo il comando, piuttosto che quella di root.
Differenze principali tra su e sudo
La prima differenza cruciale è legata alla gestione delle password. Quando si utilizza su, è necessaria la password di root, il che può rappresentare un rischio per la sicurezza in sistemi multi-utente, poiché implica la condivisione della password di root. Viceversa, sudo richiede solo la password dell’utente corrente, limitando così i rischi legati alla divulgazione della password di root.
In secondo luogo, il comportamento dopo l’acquisizione dei privilegi elevati è diverso. Con sudo, è possibile eseguire solo il comando specificato, mentre su apre una nuova sessione shell, mantenendo i privilegi di root fino a quando l’utente non esce. Questo può portare a potenziali errori, poiché si potrebbe accidentalmente eseguire un comando come root senza rendersene conto.
Un altro aspetto importante è la configurabilità: sudo offre un livello di configurazione maggiore rispetto a su. Gli amministratori possono configurare sudo per limitare i comandi che gli utenti possono eseguire, assicurando che possano solo eseguire le operazioni necessarie per il loro lavoro. Questo è particolarmente utile in ambienti aziendali e condivisi.
Esempi pratici di utilizzo
Vediamo ora alcuni esempi pratici che mostrano come utilizzare su e sudo nella vita quotidiana di un utente Linux:
Per utilizzare sudo per installare un pacchetto software:
sudo apt install nome-pacchetto
Per cambiare utente con su e accedere come root:
su
Per tornare a un utente normale dopo aver usato su, sarà necessario uscire dalla shell con:
exit
Usare sudo con un comando per visualizzare il contenuto di un file protetto:
sudo cat /etc/shadow
Conclusione
In sintesi, sia su che sudo sono strumenti fondamentali per la gestione dei permessi in Linux. La scelta tra i due dipende in gran parte dal contesto e dalle necessità dell’utente. sudo risulta generalmente la scelta più sicura e configurabile, mentre su offre una maggiore comodità negli accessi temporanei come utente root. Comprendere le differenze tra questi comandi è essenziale per garantire la sicurezza e l’efficienza nell’amministrazione di un sistema Linux.