Routech explică: Diferențele dintre Su, Sudo Su, Sudo -s și Sudo -i

Routech spiega: le differenze tra Su, Sudo Su, Sudo -s e Sudo -i

Sulla riga di comando di Linux ci sono molti modi diversi per ottenere una sessione di root nel terminale. Ciò può creare un po ‘di confusione, poiché la maggior parte degli utenti principianti che stanno cercando di ottenere il root potrebbe non avere familiarità con il modo in cui ogni comando può ottenere l’accesso come root, come sono diversi e quando queste differenze sono importanti.

È per questo motivo che smonteremo ciascuno dei molti comandi diversi utilizzati per ottenere l’accesso come root in un terminale. Spiegheremo esattamente come ottengono il root, quando usarli e tutto il resto.

Conţinut

su

Il su Il comando sostituisce l’utente corrente utilizzato dal sistema nella shell. Puoi passare a qualsiasi utente prendendo su e aggiungendo un nome utente tramite esso. Questo dirà al sistema di cambiare (ed essenzialmente disconnettersi da) l’utente corrente con quello specificato. In alternativa, il file su comando può ottenere l’accesso come root inserendo su senza specificare nulla dopo il comando.

“Su” è utilizzato al meglio quando un utente desidera l’accesso diretto all’account di root sul sistema. Non passa sudo o qualcosa del genere. Invece, la password dell’utente root deve essere conosciuta e utilizzata per accedere con. Inoltre, altri modi per ottenere la root non hanno il vantaggio di ottenere l’accesso alla directory home di root e all’ambiente di root.

sudo su

root-sudo-su

Questo comando è essenzialmente lo stesso del semplice esecuzione su nel guscio. 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, in modo molto simile a su (o su root). Questo perché se un comando viene eseguito con sudo di fronte ad esso, è un comando a cui vengono assegnati i privilegi di root.

Anche se non c’è molta differenza da “su”, sudo su è ancora un comando molto utile per una ragione importante: quando un utente esegue “su” per ottenere l’accesso come root su un sistema, deve conoscere la password di root. Il modo in cui viene data radice 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

root-sudo-i

Utilizzando sudo -i è praticamente uguale a sudo su comando. Gli utenti possono ottenere il root tramite “sudo” e non passando all’utente root. Molto simile 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 in quanto leggerà tutti i file ambientali (.profile, ecc.) e con esso imposterà l’ambiente all’interno della shell.

Dove differisce da “sudo su” è questo sudo -i è un modo molto più pulito per ottenere root e un ambiente root senza interagire direttamente con l’utente root. Come? Con sudo su stai usando più di una radice setuid comandi. Questo fatto rende molto più difficile capire quali variabili ambientali verranno mantenute e quali verranno modificate (quando si inonda nell’ambiente radice). Questo non è vero con sudo -i, ed è per questo che la maggior parte delle persone lo vede come il metodo preferito per ottenere il root senza accedere direttamente.

sudo -s

root-sudo-s

Il -s switch 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 di accesso”. Ciò significa che a differenza di un comando come sudo -i o sudo su, il sistema non leggerà alcun file ambientale. Ciò significa che quando un utente dice alla shell di eseguire sudo -s, ottiene il root ma non cambierà l’utente o l’ambiente utente. La tua casa non sarà la radice della casa, ecc.

Questo comando è utilizzato al meglio quando l’utente non vuole affatto toccare root e vuole solo una shell di root per una facile esecuzione del comando. Altri comandi di cui sopra ottengono l’accesso come 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).

Conclusione: quale comando dovrei 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.

Non c’è davvero un comando in questo elenco che sia il migliore al 100%. Man mano che gli utenti si sentono più a proprio 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.

In che modo preferisci ottenere l’accesso come root in Linux? Dicci di seguito!

Credito immagine: blog.david-jensen.com

Torna su