ChimeraRevo – Il punto di riferimento della tecnologia
menubar
Home > Guide > Linux, ecco la differenza…

Linux, ecco la differenza tra sudo e su

Gaetano Abatemarco Lug 18, 2016

Se parliamo di server distribuiti o di servizi di hosting condiviso è difficilissimo che l’amministratore di rete permetta ai suoi clienti di avere l’accesso root alle macchine di cui usufruisce, se parliamo di home computing la situazione è piuttosto diversa.

Che sia attraverso “sudo” o “su”, nell’ambito del computing casalingo basato su Linux c’è assolutamente bisogno, almeno una volta al giorno, di elevarsi a superutente per eseguire determinati tipi di operazioni, dalla semplice installazione di un programma agli aggiornamenti cumulativi di sistema, passando per le impostazioni o per la modifica manuale dei file di configurazione.

D’altra parte avere privilegi di “root” o di “superutente” o in qualunque altro modo vogliate chiamarli è fondamentale se il computer dal quale stiamo operando è di nostra proprietà: ci permette di fare qualsiasi cosa, buona o cattiva che sia, ed i meccanismi di sicurezza del sistema operativo non potranno nulla contro le nostre scelte.

In cinque parole: we’ve got the power.

Al di là dell’importanza del root nei sistemi Linux-based, domanda ricorrente tra gli utenti riguarda la differenza tra sudo e su, ovvero quella tra le modalità di accesso a privilegi elevati – di fatto i massimi, a livello utente, disponibili sul sistema. 

sudo-makeme

Al contrario di quanto si possa pensare la risposta non è ovvia nè semplice: prendendo ad esempio la distribuzione Ubuntu si potrebbe rispondere che sudo e su sono la stessa cosa: entrambi permettono di ottenere privilegi di root.

Si potrebbe, infatti, poiché all’atto pratico non è affatto così. I due comandi sono profondamente differenti e la differenza tra sudo e su, semplicemente, c’è.

Differenza tra sudo e su in Linux

Il comando su

Il comando su serve praticamente per “diventare” un altro utente ereditandone identificativo, identificativo del gruppo, privilegi, permessi d’esecuzione e di navigazione ed in alcuni casi anche variabili d’ambiente, alias, percorsi predefiniti e quant’altro – all’interno di una shell o di un terminale virtuale.

tux shell c
Come creare alias per velocizzare l’uso della shell LinuxComandi troppo lunghi e complessi per essere ricordati a memoria? La soluzione è più semplice di quanto si possa immaginare
Guide

La sua sintassi di base è

su <parametro_opzionale> nomeutente

Se invocato senza parametri il nomeutente viene impostato automaticamente a “root”, per cui digitare

su root

e digitare

su

portano esattamente allo stesso risultato: dopo la richiesta della password si diventa letteralmente l’utente root, senza quindi restrizioni di alcun tipo sul sistema.

E’ possibile uscire dalla sessione inizializzata con “su” utilizzando il comando exit.

Il comando sudo

Il comando sudo, sebbene nelle più comuni configurazioni di sistema si utilizzi per guadagnare privilegi elevati (ma non per diventare l’utente root), ha un utilizzo molto più complesso.

Esso infatti permette di ottenere particolari privilegi, in accordo con quanto definito nel suo file di configurazione (/etc/sudoers), non appartenenti di default alla propria tipologia di utente.

La sua sintassi di base è

sudo <parametro_opzionale> comando_da_eseguire

Già qui sta la prima differenza rispetto a su: il comando sudo infatti prende come input un comando – non un utente – e, come accennato poc’anzi permette, di eseguire il comando passato in input con i privilegi definiti nel file /etc/sudoers, impostando provvisoriamente (di default per 15 minuti) alcuni particolari bit per far sì che ciò accada.

In sostanza il comando sudo permette di fare ciò che farebbe un utente “privilegiato” senza il bisogno di possedere la sua password.

Di norma, infatti, la password per l’esecuzione dei comandi attraverso “sudo” coincide con la password utente.

Il file /etc/sudoerspermette di definire quali utenti possano ottenere privilegi elevati (o quantomeno differenti dai predefiniti) invocando il comando sudo; esso permette inoltre di definire nel dettaglio quali comandi possano essere eseguiti da tali utenti in caso di accesso privilegiato.

E la differenza?

Di fondo la chiave è proprio la modalità di esecuzione dei comandi: con su si diventa root, con sudo invece potrete si agisce anche con privilegi di utente root senza però possederne le credenziali d’accesso.

In termini di sicurezza, specie se in un sistema multi-utente, è bene configurare a dovere il file /etc/sudoers per decidere quale utente può ottenere privilegi di root su determinati (o tutti i) comandi anziché mettere a disposizione la password di root a chiunque.

Ad esempio: immaginate di gestire un piccolo server, di aver bisogno di una mano per eseguire i piccoli task giornalieri e di assumere un sistemista per farlo.

Dando al sistemista la password di root – quindi permettendogli di usare su -, nel momento in cui costui smetterà di lavorare per voi sareste costretti a cambiarla (con tutte le conseguenze del caso).

Dandogli invece la possibilità di eseguire azioni privilegiate tramite il comando sudo, qualora il sistemista smettesse di lavorare per voi basterà eliminare il suo nome utente dal file /etc/sudoers ed eliminare successivamente il suo account.

Perché in Ubuntu c’è soltanto sudo?

Semplice: per impostazione predefinita in Ubuntu non è impostata password di root alcuna, ragion per cui l’account root è inizialmente inutilizzabile ed il comando “su”, semplicemente, non ne permetterà l’accesso.

Si possono comunque eseguire comandi con permessi elevati poiché l’account utente (o qualsiasi account di tipo “Amministratore” sia presente nel sistema) figura nel file /etc/sudoers ed è configurato per eseguire qualsiasi comando con privilegi di root.

differenza tra sudo e su - Shell visudo

Leggendo con più attenzione la pagina di manuale di sudo, si scopre che è possibile diventare “materialmente” root anche in Ubuntu utilizzando soltanto il comando “sudo”. 

Per impostazione predefinita l’utente di tipo “Amministratore” può eseguire tutti i comandi di sistema con privilegi elevati, per cui vi basterà eseguire una shell utilizzando un preciso parametro di sudo:

sudo -s

Ma se ciò non dovesse bastare e ci fosse la necessità di attivare l’account root – ad esempio per aprirsi l’opportunità di modificare il file /etc/sudoers in caso di malfunzionamento di sudo, cosa altrimenti impossibile -, ciò che bisognerà fare sarà invocare il comando passwd attraverso sudo:

sudo passwd

…impostando così una password di root ed abilitando l’accesso tramite il comando su. Vi sconsigliamo comunque di procedere per preservare la sicurezza del sistema, a meno che non sappiate esattamente cosa fate.

Conclusioni finali

E’ consigliabile utilizzare semplicemente sudo per preservare la sicurezza del sistema, abilitando l’utente root – oppure invocandolo, se già disponibile – soltanto in caso di emergenza.

Una buona configurazione del file /etc/sudoers può tranquillamente sopperire all’utilizzo dell’account root, account che d’altra parte andrebbe abilitato in caso ci si cimenti in modifiche simili – l’utente root è l’unico a poter rimettere a posto un sudoers mal creato il quale, a sua volta, rende inutilizzabile il comando sudo.

In generale prima di lanciarsi ad una modifica di /etc/sudoers è bene:

  • abilitare l’account root con una password sicura ed accertarsi che questa sia funzionante;
  • leggere attentamente guide e pagine di manuale, valutando i pro ed i contro prima di salvare qualsiasi modifica; in caso di errore, il sistema potrebbe diventare inutilizzabile;
  • utilizzare il comando “visudo” per modificare /etc/sudoers, poiché esso impedisce a monte il salvataggio del file in caso di errori sintattici.

Come scaricare video da Vimeo

12 ore fa

Vimeo è una piattaforma di video sharing che annovera tra le sue caratteristiche principali il fatto di negare la pubblicazione di video che non siano stati creati unicamente dall’utente. Il nome Vimeo, tra l’altro, è un gioco leggi di più…

Come scaricare video da Vimeo

Come numerare le pagine su Word

12 ore fa

Quando si crea un documento su Word, la prima cosa che in molti decidono di fare è di numerare le pagine in modo da rendersi conto dell’effettiva lunghezza del testo, oppure di avere un ordine leggi di più…

come numerare pagine word

Google Meet: trucchi e soluzioni a problemi comuni

20 ore fa

Google Meet rappresenta al giorno d’oggi una delle migliori alternative per quanto riguarda le conferenze e le riunioni online. Sebbene il servizio di casa Google sia abbastanza semplice da utilizzare, fa sempre comodo conoscere, in leggi di più…

google meet trucchi e consigli

I migliori smartphone da comprare nel 2021

1 giorno fa

Non esiste lo smartphone migliore, esiste invece il telefono perfetto alle proprie esigenze che sono sicuramente diverse da quelle di un’altra persona, di un parente o amico. Ecco cosa di solito rispondo quando mi chiedete: leggi di più…

miglior smartphone

Perché non ho la musica su Instagram? Ecco come risolvere

2 giorni fa

Se non sa come avere la musica su Instagram siete nel posto giusto. Il famoso social network permette di inserire la musica nella vostre storie tramite un apposito sticker. Purtroppo, su alcuni account, tale sticker leggi di più…

storie con musica

Iscriviti alla Newsletter

Articoli recenti

  • Come scaricare video da Vimeo
  • Come numerare le pagine su Word
  • Google Meet: trucchi e soluzioni a problemi comuni
  • I migliori smartphone da comprare nel 2021
  • Perché non ho la musica su Instagram? Ecco come risolvere
  • Chi siamo
  • Lavora con noi
  • Contattaci
  • Privacy

Copyright © 2020. Tutti i diritti riservati. ChimeraRevo SRL - P.I.: IT05544220659

Modifica impostazioni sulla privacy