2015-07-29 19 views
6

Entrambi i comandi:Qual è la differenza tra `sudo -i -u user` e` sudo su - user`?

sudo -i -u username 
sudo su - username 

mi accedere come username se inserisco la mia password. C'è davvero qualche differenza tra questi comandi?

+2

Esegui 'sudo -i -u username' e controlla le variabili d'ambiente quindi esegui' sudo su - username' e controlla le variabili d'ambiente Dovresti vedere una differenza – Mischa

+1

probabilmente questa risposta potrebbe essere di aiuto, sto anche provando per trovare la risposta per la stessa domanda. http://askubuntu.com/questions/376199/sudo-su-vs-sudo-i-vs-sudo-bin-bash-when-does-it-matter-which-is-used – Radan

+1

Ci sono anche configurazioni molto significative i cambiamenti. Se usi 'sudo su', allora la configurazione PAM per' su' è importante oltre alla configurazione di 'sudoers'; se si utilizza solo 'sudo', si dipenderà solo da' sudo' (e tutta la configurazione inclusa per riferimento - i suoi moduli PAM, la sua configurazione, ecc), mentre l'uso di 'su', inoltre, significa che si sta dipendendo su * due * strumenti con comportamento e configurazione indipendenti (e sul primo da configurare per consentire quest'ultimo). –

risposta

1

Il comando su è l'acronimo di "utente sostitutivo" e consente all'utente di diventare utente diverso (superutente). sudo su cambia l'utente corrente in root ma environment settings (PATH) rimane lo stesso. Permette all'utente che ha le autorizzazioni per eseguire un comando come superutente o altro utente, come specificato nel file sudoers.

Con sudo -i si ottiene una shell di root pulita. L'opzione -i (simula l'accesso iniziale) esegue la shell specificata dalla voce del database delle password dell'utente di destinazione come shell di login. Ciò significa che i file di risorse specifici per l'accesso come .profile o .login verranno letti dalla shell. Se viene specificato un comando, viene passato alla shell per l'esecuzione tramite l'opzione -c della shell. Se non viene specificato alcun comando, viene eseguita una shell interattiva.

+2

Afaik 'su' sta per 'utente sostitutivo' e non 'cambia utente' (o anche 'superutente'). – NaN

+0

grazie NaN..I ho corretto..apologie per l'errore di battitura. – sTg

+0

"cambia l'utente corrente in root ma le impostazioni dell'ambiente (PATH) rimarrebbero uguali" - in realtà non è vero per me – yanoo