Sto solo ripetendo le risposte di @ dr01 e @ OneK perché mancano entrambi alcuni dettagli fini:
su - username
- Chiede al sistema di avviare una nuova sessione di accesso per l'utente specificato. Il sistema richiederà la password per l'utente "username" (anche se è la stessa dell'utente corrente).sudo su - username
farà lo stesso, ma prima chiederà al sistema di essere elevato alla modalità super utente, dopodichésu
non chiederà la password di "username" perché un super utente può trasformarsi in qualsiasi altro utente senza conoscerne la password. Detto questo,sudo
di per sé rafforza la sicurezza controllando il/etc/sudoers
file per assicurarti che l'utente corrente sia autorizzato a ottenere i permessi di superutente e possibilmente verificare la password dell'utente corrente.
Vorrei anche commentare che per ottenere una sessione di accesso super utente, si prega di utilizzare sudo -i
(o sudo -s
) come sudo su -
è semplicemente sciocco:chiede sudo
per concedere autorizzazioni di superutente a su
in modo che su
può avviare una shell di login per il super utente - quando sudo
può ottenere lo stesso risultato meglio da solo.
Avere diritti di superutente, sudo su - username
ti collegherà (in una shell di login) come $username
senza chiedere una password, mentre su - username
chiederà la password di $username
.
sudo su - username
fa lo stesso di su - username
:esegue una shell di login come username
.
su - username
esegui come root e sudo su - username
non è necessario conoscere il nome utente (poiché vengono eseguiti con privilegi elevati), mentre su - username
eseguito come un normale utente richiede di conoscerlo.