Jen opakuji odpovědi @dr01 a @OneK, protože v obou chybí nějaké jemné detaily:
su - username- Požádá systém o zahájení nové přihlašovací relace pro zadaného uživatele. Systém bude vyžadovat heslo pro uživatele „username“ (i když je stejné jako aktuální uživatel).sudo su - usernameudělá totéž, ale nejprve požádá systém, aby přešel do režimu superuživatele, potésunebude požadovat heslo pro „uživatelské jméno“, protože super uživatel se může změnit na jakéhokoli jiného uživatele, aniž by znal své heslo. Jak již bylo řečeno,sudosám o sobě vynucuje zabezpečení kontrolou/etc/sudoerssoubor, abyste se ujistili, že aktuální uživatel může získat oprávnění superuživatele, a případně ověřil heslo aktuálního uživatele.
Také bych rád poznamenal, že pro získání superuživatelské přihlašovací relace prosím použijte sudo -i (nebo sudo -s ) jako sudo su - je prostě hloupé:požaduje sudo udělit superuživateli oprávnění k su takže su může spustit přihlašovací shell pro superuživatele - když sudo může dosáhnout stejného výsledku lépe sám.
S právy superuživatele sudo su - username vás přihlásí (v přihlašovacím prostředí) jako $username bez požadavku na heslo, zatímco su - username požádá o heslo $username .
sudo su - username dělá to samé jako su - username :spustí přihlašovací shell jako username .
su - username spustit jako root a sudo su - username nevyžadují znát uživatelské jméno 's heslo (protože jsou spouštěny se zvýšenými oprávněními), zatímco su - username spustit tak, jak to normální uživatel potřebuje znát.