Introduzione
Il sudo
e su
i comandi appartengono al gruppo di comandi che ogni utente Linux incontra. Poiché sono simili nella sintassi e hanno funzioni sovrapposte, molti nuovi utenti non sono sicuri di quando utilizzare l'uno rispetto all'altro.
In questo tutorial, scopri tutto sulla differenza tra su
e sudo
.
sudo vs su
Entrambi su
e sudo
elevare i privilegi assegnati all'utente corrente.
La principale differenza tra i due è che su
richiede la password dell'account di destinazione, mentre sudo
richiede la password dell'utente corrente. Pertanto, è molto più sicuro usare sudo
poiché non include lo scambio di informazioni sensibili.
Inoltre, è consigliabile attenersi a sudo
durante l'esecuzione di attività che richiedono privilegi di root. In questo modo, all'utente corrente vengono concessi privilegi solo per il comando specificato. D'altra parte, su
passa completamente all'utente root, esponendo l'intero sistema a potenziali modifiche accidentali.
Come usare il comando su
Il su
comando sta per utente sostitutivo , e viene utilizzato principalmente per passare da un utente all'altro. Lo fa avviando una shell di accesso nella directory e nell'ambiente correnti (su
) o modificando completamente l'impostazione dell'utente di destinazione (su -
).
La sintassi principale è:
su [user_name]
o
su - [user_name]
Se il comando viene utilizzato senza l'argomento, passa al superutente (root ) conto.
Come funziona il comando su?
Per richiamare la shell di un altro utente all'interno della directory di lavoro/ambiente utente, utilizzare il su
comando (senza trattino).
Ad esempio, per operare come utente chiamato phoenixnap , esegui:
su phoenixnap
Quindi, fornisci la password per phoenixnap account e premi Invio .
La shell dovrebbe cambiare, mostrando che ora hai l'accesso dell'operatore all'account specificato. Tuttavia, l'ambiente utente rimane lo stesso, come nell'immagine seguente:
Come funziona il comando su – [trattino]?
Per passare a un altro utente e passare a quell'ambiente utente di destinazione, utilizza il su -
comando.
Pertanto, per passare a phoenixnap utente e passare alla sua shell di login, digitare il comando:
su - phoenixnap
Digita la password per phoenixnap account e premi Invio per confermare. L'output dovrebbe apparire simile a quello dell'immagine seguente:
Come usare il comando sudo
sudo
viene utilizzato come prefisso per i comandi Linux, che consente all'utente connesso di eseguire comandi che richiedono privilegi di root. A differenza di su
, il sudo
comando in Linux richiede di fornire la password per l'utente che esegue il comando.
Tutte le attività amministrative ed eseguibili richiedono la massima autorizzazione (detenute da root). In questi casi, si consiglia di utilizzare sudo
.
La sintassi principale è:
sudo [command]
Prima che il sistema esegua il comando, richiede la password dell'utente corrente.
Tieni presente che il sudo
l'opzione può essere utilizzata solo dagli utenti che appartengono ai sudoers gruppo.
Aggiunta di un utente al gruppo Sudoers
Affinché un utente esegua un comando che richiede il sudo
prefisso, deve far parte dei sudoers gruppo.
Per aggiungere un utente ai sudoers group, esegui il comando seguente (come root o un account che dispone già dei privilegi sudo):
usermod -aG sudo [user_name]
Ad esempio, per aggiungere l'account phoenixnap , dovresti digitare:
sudo usermod -aG sudo phoenixnap
Per visualizzare un elenco di account che appartengono al gruppo sudoers, esegui:
sudo getent group sudo
L'output dovrebbe visualizzare l'account aggiunto nel passaggio precedente:
Come funzionano sudo e su su diverse distribuzioni Linux
su
è un comando più vecchio ma più completo incluso in tutte le distribuzioni Linux. È il modo tradizionale per passare all'account root.
Linux sconsiglia di lavorare come root in quanto potrebbe causare modifiche indesiderate a livello di sistema e suggerisce di utilizzare sudo
invece. Per questo motivo, tutti basati su Ubuntu le versioni sono solo sudo , il che significa che l'account root non è attivo per impostazione predefinita.
Durante l'installazione di un sistema operativo Ubuntu, crei un utente automaticamente etichettato come parte del gruppo sudoers. Tuttavia, non è presente alcuna configurazione dell'account di root. Per abilitare l'utente root, devi attivarlo manualmente.
D'altra parte, altre distribuzioni Linux, come Fedora, creano un account utente e root al momento dell'installazione.
Abilitazione dell'account root
Se stai utilizzando una distribuzione basata su Ubuntu e provi a passare all'utente root, l'output ti informa che si è verificato un Autenticazione fallita .
Per attivare l'utente root, esegui il comando passwd:
sudo passwd root
Successivamente, l'output chiede di impostare la password per l'utente root. Digita e ridigita una password sicura, quindi premi Invio. Il sistema dovrebbe avvisarti che la password è stata aggiornata correttamente.
Verifica che l'utente root sia attivo passando alla sua shell di accesso con su -
.
Funzionalità aggiuntive
Sebbene sudo
è principalmente legato all'esecuzione di comandi con privilegi di root, può essere utilizzato anche per cambiare l'utente root. Passa all'utente root e acquisisci l'ambiente root con:
sudo -i
Digitare la password per l'utente attualmente in uso. Ora dovresti essere nella shell di root.
Allo stesso modo, su
può anche funzionare come sudo
ed esegui un singolo comando come root:
su -c [command]