I comandi sudo e su possono creare confusione perché hanno sintassi e funzioni simili. Questi due comandi vengono utilizzati per cambiare contesto utente in un ambiente Linux. Quindi, per semplificare le cose, è importante capire la differenza tra loro e quando utilizzarli.
In Linux, il comando sudo, abbreviazione di “superuser do“, è uno strumento potente che consente a un utente di eseguire comandi con privilegi elevati come un altro utente, in genere l’utente root. Quando un utente esegue un comando con sudo, il comando viene eseguito con le autorizzazioni e i diritti di accesso dell’utente specificato, consentendogli di eseguire attività che altrimenti richiederebbero l’accesso a livello di root.
Sudo è un comando ampiamente utilizzato nei sistemi operativi basati su Linux e Unix, poiché migliora la sicurezza limitando il numero di utenti con accesso amministrativo completo. Aiuta inoltre a gestire il controllo degli accessi consentendo all’amministratore di sistema di concedere a utenti o gruppi specifici il diritto di eseguire determinati comandi con privilegi elevati.
Il comando sudo funziona controllando un file di configurazione chiamato sudoers, che contiene regole e politiche dettagliate su come e quando gli utenti possono utilizzare il comando sudo. Questo file si trova solitamente nel file /etc
directory. Può essere modificato dall’amministratore di sistema per aggiungere o rimuovere utenti o gruppi o per definire comandi specifici che possono essere eseguiti con privilegi elevati.
Ciò consente agli utenti di eseguire attività amministrative come l’installazione di pacchetti, la creazione di file nelle directory di sistema o la modifica delle configurazioni. Sudo è particolarmente utile quando si esegue una singola azione che richiede privilegi di root; successivamente, le autorizzazioni dell’utente vengono reimpostate su quelle di un utente normale.
Cos’è su in Linux?
Su è l’abbreviazione di switch user or substitute user “cambiare utente o sostituire utente” e, come suggerisce il nome, consente agli utenti di passare da un account all’altro all’interno del proprio sistema Linux. A differenza di sudo, su non fornisce un accesso temporaneo; cambia l’utente registrato in un utente root, garantendo autorizzazioni amministrative complete per la durata della sessione.
sudo vs. su
Il comando sudo è progettato per fornire un accesso privilegiato temporaneo o lo stato di superutente agli utenti che non hanno effettuato l’accesso come root. Questo viene fatto modificando temporaneamente il contesto utente in quello dell’utente root. Con sudo, gli utenti sono limitati a eseguire comandi specifici per i quali sono stati concessi i diritti di accesso.
D’altra parte, su sta per “utente sostitutivo” e consentirà a qualsiasi utente registrato di trasferire i privilegi della sessione corrente a quelli di un altro utente. A differenza del comando sudo, su non richiede alcuna verifica o autenticazione per cambiare utente.
sudo vs. su: utilizzo e prestazioni
Per quanto riguarda l’utilizzo e le prestazioni, sudo è generalmente considerato più veloce e più semplice di su a causa della sua portata limitata e delle restrizioni di accesso. Inoltre, con sudo, gli amministratori di sistema possono decidere comodamente quali comandi possono essere eseguiti da utenti specifici senza concedere a quell’utente l’accesso root.
Al contrario, su rende facile per gli utenti con le autorizzazioni appropriate cambiare contesto ed eseguire comandi come un altro utente senza restrizioni.
Lo svantaggio è che richiede uno sforzo maggiore da parte dell’amministratore di sistema per gestire il controllo adeguato su quali utenti possono diventare superutenti. Inoltre, il processo di autenticazione di sudo aggiunge un ulteriore livello di sicurezza, che può avvantaggiare le implementazioni a livello aziendale.
Come utilizzare il comando su
Usando il comando su, puoi passare rapidamente da un utente all’altro senza problemi. Avvia una shell di accesso che segue la directory e l’ambiente correnti (su) o passa completamente alle impostazioni di un altro utente (su –).
Questo è uno strumento incredibilmente utile per chiunque desideri cambiare identità rapidamente! Ciò lo rende uno strumento ideale quando si passa da un utente all’altro nel sistema.
La sintassi principale è: su [-l] [-c <command> ]
-l: Questa opzione fa sì che su si comporti come una shell di login. Imposta l’ambiente per l’utente di destinazione come se avesse effettuato l’accesso direttamente.
-C: Questa opzione consente di specificare un comando che verrà eseguito con i privilegi dell’utente di destinazione.
Come utilizzare il comando sudo
Il comando sudo viene utilizzato per fornire privilegi aggiuntivi agli utenti per eseguire comandi che richiedono autorizzazioni speciali. Per utilizzare il comando sudo, devi essere un membro del gruppo sudoers e fornire la password per l’autenticazione.
La sintassi principale è: sudo [-u <user> ]
-u: Questa opzione consente di specificare un utente di destinazione, che verrà utilizzato durante l’esecuzione del comando.
Differenze tra Su e Sudo
- Il comando sudo consente di eseguire comandi con privilegi elevati, mentre il comando su cambia contesto utente.
- Il comando sudo richiede l’autenticazione e l’autorizzazione prima di consentire agli utenti di eseguire comandi privilegiati, mentre il comando su no.
- Il comando sudo è più veloce e più facile da usare grazie al suo ambito limitato e alle restrizioni di accesso, mentre il comando su richiede uno sforzo maggiore da parte dell’amministratore di sistema per gestire un controllo adeguato.
- Il comando sudo offre un ulteriore livello di sicurezza vantaggioso per le implementazioni a livello aziendale, mentre il comando su offre un modo conveniente per cambiare contesto utente senza alcuna verifica o autenticazione.
Esplorando il funzionamento di sudo e su nelle varie distribuzioni Linux
Se esegui una distribuzione Linux, sudo è spesso il comando preselezionato per eseguire comandi con privilegi di root. Tuttavia, alcune distribuzioni optano per su e richiedono agli utenti di inserire la propria password quando si cambia contesto utente. Le distribuzioni basate su Ubuntu preferiscono utilizzare sudo come comando predefinito, mentre Fedora e RHEL lo preferiscono su Invece.
Alcuni trucchi di sudo e su
Quando usi sudo, puoi fornire un alias per un comando per renderlo più semplice e veloce da eseguire. Ad esempio, ciò ti consentirebbe di eseguire rapidamente “sudo apt-get update” invece di digitare ogni volta il comando completo.
Se è necessario eseguire più comandi con sudo O su usa il -C per eseguire ciascun comando come una sub-shell. In questo modo, puoi evitare di dover digitare ogni volta l’intero comando sudo o su.
Nel complesso, sudo e su forniscono facilità d’uso ed efficienza nella gestione degli utenti nei sistemi Linux. Gli amministratori di sistema devono garantire un controllo adeguato su quali utenti possono diventare superutenti ed eseguire comandi con accesso root.
Sudo è generalmente considerato più veloce e più semplice di su a causa della sua portata limitata, del processo di autenticazione e delle restrizioni di accesso. Tuttavia, su potrebbe essere la scelta migliore per determinati casi d’uso, poiché il cambio di utente non richiede alcuna verifica o autenticazione.