Die Unterschiede zwischen Su, Sudo Su, Sudo -s und Sudo -i

Le differenze tra Su, Sudo Su, Sudo -s e Sudo -i

⌛ Reading Time: 5 minutes

Esistono molti modi diversi per ottenere una sessione di root nel terminale Linux. Ciò può creare confusione, poiché la maggior parte degli utenti principianti che stanno cercando di ottenere i privilegi di root potrebbe non avere familiarità con il modo in cui ciascun comando può ottenere l’accesso come root, come sono diversi e quando queste differenze sono importanti. Qui separiamo ciascuno dei molti comandi diversi utilizzati per ottenere l’accesso come root in un terminale, spieghiamo come ottengono il root, quando usarli e tutto il resto.

su

Il su comando sostituisce l’utente corrente che il sistema sta utilizzando nella shell.

Puoi passare a qualsiasi utente digitando su e aggiungendo un nome utente dopo di esso. Questo dirà al sistema di passare (ed essenzialmente disconnettersi) dall’utente corrente a quello specificato. In alternativa, il su il comando può ottenere l’accesso come root inserendo su senza specificare nulla dopo il comando.

“su” è meglio utilizzato quando un utente desidera l’accesso diretto all’account root sul sistema. Non passa sudo o qualcosa del genere. Invece, ti viene chiesto di inserire la password dell’utente root perché stai letteralmente accedendo ad essa. Inoltre, altri modi per ottenere l’accesso come root non hanno il vantaggio di ottenere anche l’accesso alla directory principale di root e all’ambiente di root.

sudo su

Questo comando richiede la password dell’utente corrente invece di root.

Linuxsudo Sudosu

È essenzialmente lo stesso che correre su nella shell, salvo una differenza cruciale. Invece di dire al sistema di “cambiare utente” direttamente, gli stai dicendo di eseguire il comando “su” come root. quando sudo su viene eseguito, “.profile”, “.bashrc” e “/etc/profile” verranno avviati, proprio come l’esecuzione su (o su root). Se viene eseguito un comando con sudo davanti ad esso, gli vengono dati i privilegi di root.

Sebbene non ci sia una grande divergenza tra “sudo su” e “su”, sudo su è ancora un comando molto utile per un motivo importante: quando un utente esegue “su” per ottenere l’accesso come root su un sistema, deve conoscere la password di root. La radice è data con sudo su richiedendo la password dell’utente corrente. Ciò rende possibile ottenere il root senza la password di root che aumenta la sicurezza.

sudo -i

Usando sudo -i è praticamente uguale a sudo su comando con un’eccezione: non interagisce direttamente con l’utente root.

Linuxsudo Sudoi

proprio come sudo su, il -i flag consente a un utente di ottenere un ambiente root senza dover conoscere la password dell’account root. sudo -i è anche molto simile all’uso sudo su, poiché leggerà tutti i file ambientali (.profile, ecc.) e imposterà l’ambiente all’interno della shell.

Dove differisce da “sudo su” è che sudo -i è un modo molto più pulito per ottenere root e un ambiente root senza interagire direttamente con l’utente root. Per chiarire: Con sudo su stai usando più di una radice setuid comando in background. Ciò rende molto più difficile capire quali variabili ambientali verranno mantenute e quali verranno modificate (quando si passa all’ambiente root). Questo non è vero con sudo -i. Per questo motivo, la maggior parte delle persone lo vede come il metodo preferito per ottenere il root senza accedere direttamente.

sudo -s

Questo comando richiama una shell con la tua variabile $SHELL.

Linuxsudo Sudo

Il -s L’opzione per il comando “sudo” legge la variabile $SHELL dell’utente corrente che esegue i comandi. Questo comando funziona come se l’utente fosse in esecuzione sudo /bin/bash. Sudo -s è una shell in stile “non login”. A differenza di un comando come sudo -i o sudo su, il sistema non leggerà alcun file ambientale. Quando un utente dice alla shell di avviarsi sudo -s, ottiene il root ma non cambierà l’utente o l’ambiente dell’utente. La tua casa non sarà la casa principale, ecc.

Linuxsudo Shellupdate

Questo comando è meglio utilizzato quando l’utente non vuole passare a root ma vuole una shell interattiva con il suo valore di ambiente $SHELL. Altri comandi di cui sopra ottengono l’accesso root ma toccano i file ambientali di root e consentono agli utenti un accesso più completo a root (che può essere un problema di sicurezza).

Domande frequenti

1. Quale comando devo usare?

Ogni comando ha il suo caso d’uso. La cosa importante qui è capire cosa fa ogni comando e quando usarli. Così com’è, sudo -i è il modo più pratico e pulito per ottenere un ambiente root. D’altra parte, quelli che usano sudo -s scopriranno di poter ottenere una shell di root senza la possibilità di toccare l’ambiente di root, cosa che ha aggiunto vantaggi in termini di sicurezza.

2. L’accesso a root può danneggiare il mio sistema?

In alcuni casi sì. A meno che tu non sia assolutamente sicuro di aver bisogno di accedere a root per tutto in una particolare sessione del terminale, spesso è meglio digitare sudo seguito da un comando se si desidera accedere a root per quel particolare comando. Ad esempio, digitando sudo apt install vlc in qualsiasi versione di Linux basata su Debian direbbe al sistema operativo di accedere a root solo per eseguire il gestore di pacchetti APT per installare VLC.

Un avvertimento molto importante per la corsa sudo -i o qualsiasi altra variante di cui abbiamo discusso in precedenza rispetto alla digitazione sudo prima di ogni comando che vuoi eseguire come root è che il primo non registra la cronologia dei comandi in /var/log/auth.log. Se sbagli, non puoi tornare indietro e controllare cosa hai fatto in modo da poterlo correggere. Dovrai operare senza memoria, poiché le sessioni di root non vengono registrate.

3. Quando digito “sudo” prima di un comando, quale variante di “sudo su” sto eseguendo?

Digitando sudo per eseguire un comando (cioè, lo stai digitando nella stessa riga del comando che vuoi eseguire), lo stai essenzialmente eseguendo in una shell di root interattiva. Questo sarebbe quello che sudo -s il comando autonomo lo fa.

Avvolgendo

Non c’è davvero un comando in questa lista che sia il migliore al 100%. Man mano che gli utenti si sentono più a loro agio con la riga di comando, dovranno prendere in considerazione ogni modo per ottenere il root (e ce ne sono molti) e valutare i pro ei contro e agire di conseguenza. Spero che con l’aiuto di questo articolo queste decisioni saranno più facili da prendere. Se vuoi saperne di più sui comandi, leggi questo articolo sui comandi utili di Linux per elencare il contenuto di una directory.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.