Qual'è la differenza tra sudo -i e sudo su -


Risposte:


30

Possono fornire funzionalmente vicino alla stessa cosa, ma sembra che "sudo -i" sia più leggero e mantenga alcuni utili riferimenti nel tuo ambiente.

Puoi vedere i processi extra guardando 'ps auxf' (f ti dà una vista foresta)

sudo -i produce questo albero di processo

jkrauska  4480  0.0  0.0  76828  1656 ?        S    23:38   0:00  |   \_ sshd: jkrauska@pts/0
jkrauska  4482  0.0  0.0  21008  3816 pts/0    Ss   23:38   0:00  |       \_ -bash
root      4675  0.6  0.0  19512  2260 pts/0    S+   23:42   0:00  |           \_ -bash

sudo su - restituisce questo albero di processo

jkrauska  4480  0.0  0.0  76828  1656 ?        S    23:38   0:00  |   \_ sshd: jkrauska@pts/0
jkrauska  4482  0.0  0.0  21008  3816 pts/0    Ss   23:38   0:00  |       \_ -bash
root      4687  0.5  0.0  43256  1488 pts/0    S    23:42   0:00  |           \_ su -
root      4688  0.5  0.0  19508  2252 pts/0    S+   23:42   0:00  |               \_ -su

Si noti che stanno iniziando dallo stesso processo pid bash, 4482, ma che su - sembra generare un altro passo.)

Il tuo primo "sudo" sta già elevando il tuo livello di accesso alla radice. L'esecuzione di su senza specificare un nome utente all'interno di sudo modifica l'utente corrente in root due volte.

Un altro modo per investigare questo è eseguendo entrambi i comandi con strace -f.

strace -f -o sudoi sudo -i

vs

strace -f -o sudosu sudo su -

Se si diffondono queste due strisce, vedrai più exeve in esecuzione per sudo su -.

Un'altra cosa.

sudo -i mantiene le variabili di ambiente extra impostate da SUDO.

SUDO_USER=jkrauska
SUDO_UID=1000
SUDO_COMMAND=/bin/bash
SUDO_GID=1000

sudo su - blocca queste variabili.


Grazie, ti ho votato come la risposta corretta. Un'altra domanda, quindi è sudo su -inutile?
Howard,

Se si desidera ostruire i riferimenti posteriori di SUDO potrebbe essere utile. Quindi non ha senso in quel caso.
Joel K

Ci sono anche grandi differenze nella gestione degli argomenti, nella gestione delle variabili d'ambiente e nella sicurezza quando si diventa utenti non root. Vedi cosa ho aggiunto qui: serverfault.com/q/601140/102814
Craig Ringer

1

Risposta del colpo: No, non sono gli stessi.

Risposta lunga: sudo e su - sono programmi diversi che svolgono lo stesso compito, che ti porta ai privilegi di root.

su era il modo di fatto di diventare root sui sistemi Linux. Tuttavia, c'era sempre la necessità di separare i privilegi e lasciare indietro alcune informazioni di controllo. Anche quando fai su - tutto ciò che fai viene fatto come root ed è pericoloso avere così tanto potere. Qui è dove sudo è venuto in soccorso.

sudo ha alcune caratteristiche che su non ha. L'elemento chiave in sudo è la capacità di eseguire il comando "one" come root e quindi rilasciare i privilegi all'utente normale. Esempio: rimozione di un file di proprietà di root.

sudo rm /root/someFile

Questo comando cancellerà il file perché sudo ti eleverà alla radice ogni volta che usi il comando sudo prima di un altro comando. Il comando successivo che hai eseguito verrà eseguito come un normale utente (a meno che non si aggiunga il comando sudo all'inizio). Ciò consente di eseguire attività amministrative e quindi rilasciare immediatamente i privilegi per evitare condizioni pericolose.

sudo offre anche altri vantaggi come la limitazione del set di programmi che un utente può eseguire, i comandi di log eseguiti su sudo e altre cose. Per maggiori informazioni sudo in breve

Quando fai su - o sudo -i fai la stessa cosa. Questo sta diventando root, ma tieni presente che su e sudo sono completamente diversi e ti offrono diversi strumenti come amministratore di sistema. Personalmente non eseguo MAI su - e la mia politica pam lo proibisce , non permettendo a nessuno di eseguirlo. Nei miei sistemi devi sempre usare la causa sudo dei vantaggi aggiunti.

Ulteriori informazioni: utilizzo e abilitazione di sudo


supuò anche eseguire un solo comando:su -c 'command ...'
Eliah Kagan

La domanda riguardava la differenza tra sudo -ie sudo su -, non tra sudoe su.
Alessio Gaeta,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.