4Aug

Qual è la differenza tra Sudo e Su in Linux?

click fraud protection

Se sei un utente Linux, probabilmente hai visto riferimenti a sudo e su. Gli articoli qui su How-To Geek e altrove indicano agli utenti di Ubuntu di usare sudo e gli altri utenti delle distribuzioni Linux per usare su, ma qual è la differenza?

Sudo e su sono due modi diversi per ottenere i privilegi di root. Ciascuna funzione in un modo diverso e diverse distribuzioni Linux utilizzano diverse configurazioni per impostazione predefinita.

L'utente root

Sia su che sudo vengono utilizzati per eseguire comandi con permessi di root. L'utente root è fondamentalmente equivalente all'utente amministratore su Windows: l'utente root ha le autorizzazioni massime e può fare qualsiasi cosa per il sistema. Gli utenti normali su Linux eseguono con autorizzazioni ridotte, ad esempio non possono installare software o scrivere nelle directory di sistema.

Per fare qualcosa che richiede queste autorizzazioni, dovrai acquisirli con su o sudo.

Su vs. Sudo

Il comando su passa al superutente - o utente root - quando lo si esegue senza opzioni aggiuntive. Dovrai inserire la password dell'account di root. Questo non è tutto ciò che fa il comando su, però - puoi usarlo per passare a qualsiasi account utente. Se esegui il comando su

instagram viewer
su bob, ti verrà richiesto di inserire la password di Bob e la shell passerà all'account utente di Bob.

Una volta terminato di eseguire i comandi nella shell di root, è necessario digitare uscire da per lasciare la shell di root e tornare alla modalità con privilegi limitati.

Sudo esegue un singolo comando con privilegi di root. Quando si esegue il comando sudo , il sistema richiede la password dell'account utente corrente prima di eseguire il comando come utente root. Di default, Ubuntu ricorda la password per quindici minuti e non chiederà più una password fino a quindici minuti.

Questa è una differenza chiave tra su e sudo. Su ti porta all'account utente root e richiede la password dell'account di root. Sudo esegue un singolo comando con privilegi di root - non passa all'utente root o richiede una password utente root separata.

Ubuntu vs. Altre distribuzioni Linux

Il comando su è il modo tradizionale di acquisire i permessi di root su Linux. Il comando sudo esiste da molto tempo, ma Ubuntu è stata la prima distribuzione Linux diffusa ad andare sudo-only per impostazione predefinita. Quando installi Ubuntu, viene creato l'account root standard, ma non viene assegnata alcuna password. Non è possibile accedere come root finché non si assegna una password all'account root.

Ci sono diversi vantaggi nell'usare sudo invece di su di default. Gli utenti di Ubuntu devono solo fornire e ricordare una singola password, mentre Fedora e altre distribuzioni richiedono la creazione di password di account utente e radice separate durante l'installazione.

Un altro vantaggio è che scoraggia gli utenti dal login come utente root - o usando su per ottenere una shell di root - e mantenendo la shell di root aperta per fare il loro normale lavoro. L'esecuzione di un numero inferiore di comandi come root aumenta la sicurezza e impedisce modifiche accidentali a livello di sistema. Le distribuzioni

basate su Ubuntu, incluso Linux Mint, usano anche sudo invece di su per impostazione predefinita.

A pochi trucchi

Linux è flessibile, quindi non ci vuole molto lavoro per far sì che su su lavori in modo simile a sudo - o viceversa.

Per eseguire un singolo comando come utente root con su, eseguire il seguente comando:

su -c 'command'

Questo è simile all'esecuzione di un comando con sudo, ma è necessario la password dell'account di root anziché dell'utente corrente.password dell'account.

Per ottenere una shell root interattiva completa con sudo, eseguire sudo -i.

Dovrai fornire la password del tuo account utente corrente invece della password dell'account di root.

Abilitazione dell'utente root in Ubuntu

Per abilitare l'account utente root su Ubuntu, utilizzare il seguente comando per impostarne una password. Tenete a mente che Ubuntu raccomanda contro questo.

sudo passwd root

Sudo ti chiederà la password del tuo account utente corrente prima di poter impostare una nuova password. Usa la tua nuova password per accedere come root da un prompt di login del terminale o con il comando su. Non si dovrebbe mai eseguire un ambiente grafico completo come utente root: si tratta di una pratica di sicurezza molto scarsa e molti programmi si rifiuteranno di funzionare.

Aggiunta di utenti al file Sudoers

Solo gli account di tipo amministratore in Ubuntu possono eseguire comandi con sudo.È possibile modificare il tipo di un account utente dalla finestra di configurazione Account utente.

Ubuntu indica automaticamente l'account utente creato durante l'installazione come account amministratore.

Se si sta utilizzando un'altra distribuzione Linux, è possibile concedere a un utente il permesso di utilizzare sudo eseguendo il comando visudo con i privilegi di root( quindi eseguire su o utilizzare su -c ).

Aggiungere la seguente riga al file, sostituendo utente con il nome dell'account utente:

utente ALL =( TUTTI: TUTTI) TUTTI

Premere Ctrl-X e quindi Y per salvare il file. Potresti anche essere in grado di aggiungere un utente a un gruppo specificato nel file. Gli utenti nei gruppi specificati nel file avranno automaticamente privilegi sudo.

Versioni grafiche di Su

Linux supporta anche le versioni grafiche di su, che richiedono la password in un ambiente grafico. Ad esempio, è possibile eseguire il seguente comando per ottenere una richiesta di password grafica ed eseguire il navigatore di file Nautilus con i permessi di root. Premere Alt-F2 per eseguire il comando da una finestra di dialogo di esecuzione grafica senza avviare un terminale.

gksu nautilus

Il comando gksu ha anche qualche altro asso nella manica: conserva le impostazioni correnti del desktop, quindi i programmi grafici non appariranno fuori posto quando li lanciate come utenti diversi. Programmi come gksu sono il modo preferito di avviare applicazioni grafiche con privilegi di root.

Gksu usa un backend su su o sudo, a seconda della distribuzione Linux che stai usando.

Ora dovresti essere pronto ad incontrare sia su che sudo! Incontrerai entrambi se usi diverse distribuzioni Linux.