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 - username
udělá totéž, ale nejprve požádá systém, aby přešel do režimu superuživatele, potésu
nebude 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,sudo
sám o sobě vynucuje zabezpečení kontrolou/etc/sudoers
soubor, 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.