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.