Odpowiedzi:
Myślę, że sudo -snie jest „lepszy”, jest po prostu inny.
sudo -s
przechowuje katalog $ HOME, więc podczas uruchamiania programów będą używać plików konfiguracyjnych (a nie roota) itp. Wada: mogą również zmienić własność plików w katalogu $ HOME, typowym przykładem jest .Xauthorityplik, ale ja nigdy nie doświadczyłem z tym problemu.
sudo su lub sudo -i
programy będą używać katalogu głównego root i jego plików konfiguracyjnych. Może to być bardziej intuicyjne, ale oznacza również, że nie będzie korzystał z żadnej konfiguracji, którą sam sobie ustawiłeś (aliasy, historia bash, ...).
Ponieważ sudo -snie zmieni twoich zmiennych środowiskowych, szczególnie $HOME, które pozostaną HOME=/home/USER. Jeśli użyjesz sudo sutej opcji, zmieni się to, HOME=/rootco może mieć negatywne skutki uboczne, gdy programy zaczniesz próbować uzyskać dostęp do katalogu domowego użytkownika.
Zasadniczo jest to jak sudovs gksudopodczas uruchamiania programów graficznych.
Oprócz wspomnianych już różnic w zmiennych środowiskowych, uważam sudo sugłupie i marnotrawstwo, ponieważ prosisz sudoo uruchomienie sujako root, i poprosisz o uruchomienie powłoki jako root. Po co prosić program, aby poprosił program o podanie powłoki roota, skoro pierwszy program może dać ci tę powłokę? Czy ma to jakiekolwiek znaczenie praktyczne? Nie, jestem pedantyczny.
sudo surootowania, tak, po prostu idź sudo -ina przykład. Ale to nie pomaga, gdy chcemy stać się inny użytkownik: sudo su - myuser.
sudo -iprzejdzie do /rootkatalogu i sudo supozostanie w katalogu, w którym się znajdujesz.
sudo -u myuser.
Nie zgadzam się z innymi odpowiedziami, rozważając przypadki, w których chcesz zalogować się jako użytkownik, który nie ma powłoki. Jest to bardzo częsty przypadek użytkowników przypisanych do usług.
Użycie „sudo su” uruchomi powłokę określoną przez użytkownika. Jednak w przypadku użytkownika przypisanego do procesu serwera powłoką jest / usr / bin / false, a logowanie się nie powiedzie. Zamiast tego należy wprowadzić jako:
sudo -sHu <server-user>
spowoduje to zalogowanie się i przejście do ścieżki domowej, nawet jeśli użytkownik nie ma przypisanej powłoki
sudo -iczysudo sujest lepszy niżsudo -sz powodów wymienionych tutaj: ubuntuforums.org/showpost.php?p=6188826&postcount=4 także: jest to możliwe duplikat superuser.com/questions/29/...