Różnice między Su, Sudo Su, Sudo -s i Sudo -i

Różnice między Su, Sudo Su, Sudo -s i Sudo -i

Istnieje wiele różnych sposobów uzyskania sesji roota w terminalu Linux. Może to spowodować pewne zamieszanie, ponieważ większość początkujących użytkowników, którzy chcą uzyskać uprawnienia roota, może nie wiedzieć, w jaki sposób każde polecenie może uzyskać dostęp do roota, czym się różnią i kiedy te różnice mają znaczenie. Tutaj rozbijamy każde z wielu różnych poleceń używanych do uzyskania dostępu do roota w terminalu, wyjaśniamy, w jaki sposób uzyskują uprawnienia roota, kiedy ich używać i wszystko pomiędzy.

jego

ten su polecenie zastępuje bieżącego użytkownika, którego system używa w powłoce.

Linuxsudo Su

Możesz przełączyć się na dowolnego użytkownika, wpisując su i dodanie po nim nazwy użytkownika. To poinstruuje system, aby przełączył się (i zasadniczo wylogował) z bieżącego użytkownika na określonego. Alternatywnie, su Polecenie może uzyskać dostęp do roota, wpisując su bez podawania czegokolwiek po poleceniu.

„Su” najlepiej jest używać, gdy użytkownik chce mieć bezpośredni dostęp do konta root w systemie. Nie przechodzi sudo czy jakoś tak. Zamiast tego zostaniesz poproszony o podanie hasła użytkownika root, ponieważ dosłownie się logujesz. Ponadto inne sposoby uzyskiwania dostępu do roota nie mają zalet posiadania dostępu do domowego katalogu głównego i środowiska roota.

sudo su

To polecenie monituje o hasło bieżącego użytkownika zamiast roota.

Linuxsudo Sudosu

To w zasadzie to samo, co bieganie su na powłoce, z wyjątkiem jednej istotnej różnicy. Zamiast mówić systemowi, aby bezpośrednio „przełączył użytkownika”, każesz mu uruchomić polecenie „su” jako root. Kiedy sudo su run, „.profile”, „.bashrc” i „/ etc / profile” zostaną uruchomione, tak jak bieganie su (lub su root). Jeśli jakiekolwiek polecenie zostanie wykonane z sudo przed nim otrzymujesz uprawnienia roota.

Chociaż nie ma wielkiej rozbieżności między „sudo su” a „su”, sudo su jest nadal bardzo przydatnym poleceniem z ważnego powodu: gdy użytkownik uruchamia su, aby uzyskać dostęp do roota w systemie, musi znać hasło roota. Korzeń jest podany z sudo su żądanie hasła bieżącego użytkownika. Umożliwia to uzyskanie roota bez hasła roota, co zwiększa bezpieczeństwo.

Czytać  Jak stworzyć bootowalny Ubuntu USB w Windows

sudo-i

Za pomocą sudo -i jest praktycznie taki sam jak sudo su polecenie z jednym wyjątkiem: nie współdziała bezpośrednio z użytkownikiem root.

Linuxsudo sudoi

Bardzo podobny sudo su, ten -i flaga umożliwia użytkownikowi uzyskanie środowiska root bez konieczności znajomości hasła konta root. sudo -i jest również bardzo podobny do używania sudo su, ponieważ odczyta wszystkie pliki środowiskowe (.profile itp.) i ustawi środowisko w powłoce.

Tym, czym różni się od „sudo su”, jest to sudo -i jest to znacznie czystszy sposób na uzyskanie roota i środowiska roota bez bezpośredniej interakcji z użytkownikiem root. Wyjaśnienie: Z sudo su używasz więcej niż jednego korzenia setuid polecenie w tle. To znacznie utrudnia ustalenie, które zmienne środowiskowe zostaną zachowane, a które zostaną zmienione (przy przejściu do środowiska root). To nie jest prawda z sudo -i. Z tego powodu większość ludzi postrzega to jako preferowaną metodę uzyskiwania dostępu do roota bez bezpośredniego logowania.

sudo-s

To polecenie wywołuje powłokę ze zmienną $ SHELL.

Linuxsudo sudo

ten -s Przełącznik polecenia „sudo” odczytuje zmienną $ SHELL bieżącego użytkownika wykonującego polecenia. To polecenie działa tak, jakby użytkownik wykonywał sudo /bin/bash. Sudo -s jest to powłoka w stylu „bez logowania”. W przeciwieństwie do polecenia takiego jak sudo -i lub sudo su, system nie odczyta żadnych plików środowiskowych. Gdy użytkownik każe powłoce działać sudo -s, zyskuje uprawnienia roota, ale nie zmienia użytkownika ani środowiska użytkownika. Twój dom nie będzie domem głównym itp.

Aktualizacja powłoki Linuxsudo

Tego polecenia najlepiej używać, gdy użytkownik nie chce przełączać się na roota, ale chce mieć interaktywną powłokę z jej wartością środowiskową $ SHELL. Inne wymienione powyżej polecenia uzyskują dostęp do roota, ale dotykają plików środowiska root i umożliwiają użytkownikom pełniejszy dostęp do roota (co może stanowić problem z bezpieczeństwem).

Częste pytania

1. Jakiego polecenia powinienem użyć?

Każde polecenie ma swój przypadek użycia. Ważne jest, aby zrozumieć, co robi każde polecenie i kiedy ich używać. Jak jest, sudo -i jest to najczystszy i najbardziej praktyczny sposób na uzyskanie środowiska korzeniowego. Z drugiej strony ci, którzy używają sudo -s odkryją, że mogą uzyskać powłokę root bez możliwości dotykania środowiska root, co zapewnia dodatkowe korzyści w zakresie bezpieczeństwa.

Czytać  Jak skonfigurować nazwę użytkownika i adres e-mail Git w Ubuntu?

2. Czy dostęp do roota może zaszkodzić mojemu systemowi?

W niektórych przypadkach tak. O ile nie jesteś absolutnie pewien, że potrzebujesz uprawnień administratora do wszystkiego w danej sesji terminala, często najlepiej jest wpisać sudo po którym następuje polecenie, jeśli chcesz uzyskać dostęp root dla tego konkretnego polecenia. Na przykład pisanie sudo apt install vlc na dowolnej wersji Linuksa opartej na Debianie powiedziałbym systemowi, aby rootował tylko po to, aby uruchomić menedżera pakietów APT w celu zainstalowania VLC.

Bardzo ważne ostrzeżenie przed ucieczką sudo -i lub jakikolwiek inny wariant, który omówiliśmy powyżej zamiast pisać sudo przed każdym poleceniem, które chcesz uruchomić jako root, pierwsze z nich nie loguje historii poleceń /var/log/auth.log. Jeśli popełnisz bałagan, nie możesz wrócić i sprawdzić, co zrobiłeś, aby to poprawić. Będziesz musiał działać bez pamięci, ponieważ sesje root nie są rejestrowane.

3. Kiedy wpisuję „sudo” przed poleceniem, jaki wariant „sudo su” uruchamiam?

Pismo sudo Aby uruchomić polecenie (to znaczy, że wpisujesz je w tym samym wierszu, co polecenie, które chcesz uruchomić), zasadniczo uruchamiasz je w interaktywnej powłoce głównej. To byłoby co sudo -s samodzielna komenda.

Kończący się

Naprawdę nie ma na tej liście polecenia, które byłoby w 100% najlepsze. Gdy użytkownicy poczują się bardziej komfortowo z wierszem poleceń, będą musieli rozważyć wszystkie sposoby uzyskania roota (a jest ich wiele) oraz rozważyć zalety i wady i odpowiednio postępować. Mam nadzieję, że dzięki temu artykułowi łatwiej będzie podjąć te decyzje. Aby uzyskać więcej informacji na temat poleceń, przeczytaj ten artykuł na temat przydatnych poleceń systemu Linux do wyświetlania zawartości katalogu.

Czy ten artykuł jest przydatny?