To pytanie ma już tutaj odpowiedzi :
Komentarze
Odpowiedź
Opis
Są między nimi różnice:
Przede wszystkim używając su username
, musisz podać hasło „nazwa użytkownika”, aby móc przełączyć się na jego konto, gdy używasz sudo su - username
dla przez sekundę z własnym hasłem staniesz się rootem, a następnie bez używania innego hasła uruchomisz
, aby przełączyć się na „nazwę użytkownika”.
Inną różnicą jest użycie -
z su
przełączy się na użytkownika podczas działania powłoki logowania, bez -
otrzymasz powłokę niezalogowaną.
Wniosek:
-
su username
:
- Musisz podać hasło użytkownika docelowego
- Ty zostanie umieszczony w powłoce bez logowania (takie rzeczy jak
.profile
nie zostaną pobrane).
-
sudo su - username
- Używasz własnego hasła do wykonania polecenia
su
jako root (jeśli masz na to pozwolenie)
- Otrzymasz powłokę logowania z dostępem użytkownika docelowego.
Którego użyć:
To „nie jest dobrym pomysłem udostępnianie jednego hasła użytkownikom, więc najlepiej w ogóle nie używać su
, zamiast tego możemy użyć sudo
, też nie ma musimy uruchomić coś takiego:
sudo su - username
możemy skonfigurować nasz plik /etc/sudoers
, a następnie użyć czegoś takiego:
sudo -i -u username
Jeśli musisz użyć su
, zawsze używaj go jak su -
aby upewnić się, że wszystko jest pozyskane tak, jak powinno i nic nie zostało naruszone.