Rozważmy powyższy komiks z doskonałego komiksu internetowego XKCD. Leniwy facet na krześle chce, żeby przyjaciel zrobił mu kanapkę, ale brakuje mu władzy, by to zrobić. To znaczy, dopóki nie przywoła potężnego polecenia sudo. Następnie kanapka zostanie zrobiona w taki czy inny sposób.
Podczas gdy próba sudo na osobie w prawdziwym życiu prawdopodobnie nie będzie tak skuteczna, jest to magiczne polecenie, które omija każdą przeszkodę w świecie Linuksa. Czym jest sudo? Dlaczego w ogóle istnieje? Odpowiedź leży w sposobie, w jaki Linux obsługuje uprawnienia.
Zrozumienie uprawnień użytkowników systemu Linux
Linux jest uważany za bezpieczny system operacyjny ze względu na sposób, w jaki obsługuje uprawnienia. Podczas gdy systemy operacyjne, takie jak macOS (który miał wspólnego przodka z Linuksem) i Windows, są teraz bardziej podobne do Linuksa pod tym względem, system operacyjny Open Source jest wciąż nieco wyjątkowy.
Zrozumienie, w jaki sposób Linux obsługuje uprawnienia, sprawia, że jest to o wiele łatwiej jest ominąć polecenie sudo. Wszystkie nowoczesne systemy operacyjne mają poziom uprawnień „administratora” lub „root”. Jeśli masz konto administratora lub roota, możesz zmienić dowolne ustawienie, usunąć dowolne dane i ogólnie robić z komputerem, co chcesz.
Obejmuje to rzeczy, których prawdopodobnie nie powinieneś robić, a które mogą prowadzić do utraty danych lub potrzeby całkowitego wyczyszczenia i ponownej instalacji.
Linux nie nie ustawiać uprawnień na poziomie użytkownika root jako domyślnych. Zamiast tego Twoje konto nie może dostać się do naprawdę wrażliwych części systemu bez podniesienia poziomu uprawnień. Oznacza to, że system poprosi o podanie hasła administratora, gdy będziesz chciał zrobić coś niezwykłego za pomocą interfejsu graficznego.
Jeśli jednak chcesz użyć wiersza poleceń Terminal do załatwienia spraw, sudo jest najbezpieczniejsze i najskuteczniejszy sposób na to.
Sudo i terminal
Są dwa sposoby na nadanie sobie podwyższonych uprawnień w Linuksie. Jednym z nich jest zalogowanie się jako użytkownik root na stałe. Problem polega na tym, że każdy, kto ma dostęp do komputera, może siać spustoszenie, a nawet Ty możesz to zrobić przez przypadek. Sudo podnosi twoje uprawnienia tylko na krótki czas, aby wykonać określone polecenia, które po nim następują.
Składnia Sudo
Składnia Sudo (format polecenia) jest prosta. Po prostu wpisz „sudo”, a następnie polecenie, które chcesz wykonać.
Na przykład „sudo apt-get update” zaktualizuje wszystkie repozytoria aplikacji wymienione w odpowiednich plik. Jeśli spróbujesz go uruchomić bez sudo, otrzymasz komunikat o błędzie z informacją, że nie masz uprawnień. Nawiasem mówiąc, jest to na ogół pierwsze polecenie sudo, które chcesz uruchomić po nowej instalacji ulubionej dystrybucji Linuksa.
„Su” w sudo
„su” w sudo jest skrótem od „superużytkownika” i jest samodzielnym poleceniem. Polecenie "su" pozwala zmienić uprawnienia użytkownika, do których sudo podnosi cię.
Chociaż sudo tymczasowo przenosi Cię do poziomu roota, su zmienia Cię na innego użytkownika z odpowiednimi uprawnieniami. To może wydawać się nieistotnym rozróżnieniem, ale istnieją dobre powody, aby zmienić konto, do którego sudo podnosi użytkownika.
Przede wszystkim zmiana konta oznacza, że zwykli użytkownicy nie znają hasła roota. Po drugie, istnieje dziennik wszystkich poleceń sudo, co oznacza, że administrator systemu (root) może sprawdzić, kto wydał polecenia su.
Składnia su jest zasadniczo taka sama jak sudo:
p>Su NAZWA UŻYTKOWNIKA -c POLECENIE
Zastąp NAZWA UŻYTKOWNIKA żądanym użytkownikiem, aby uruchomić polecenie, a POLECENIE poleceniem systemu Linux, które chcesz wykonać.
Jeśli chcesz uruchomić wiele poleceń jako inny użytkownik, po prostu użyj:
Su USER
Zastąp USER żądaną tożsamością konta użytkownika.
Jeśli używasz samego su, Linux przełączy się na inne konto użytkownika, dopóki nie użyjesz polecenia „exit”. Ważne jest, aby pamiętać, że ten lub następny użytkownik, który uzyska dostęp do terminala w tej sesji, nadal będzie miał podwyższone uprawnienia. Dlatego generalnie lepiej jest używać sudo niż su.
Limit czasu sudo
Przy pierwszym użyciu polecenia sudo będziesz musiał wprowadzić hasło. Hasło to będzie wtedy ważne przez 15 minut. Możesz zmienić to ustawienie domyślne, uruchamiając polecenie sudo visudoi zmieniając „timestamp_timeout=” na dłuższą lub krótszą wartość. Nie zalecamy jednak tego robić, chyba że masz dobry powód, aby przedłużyć lub skrócić, jak długo hasło sudo pozostaje ważne.
Przełączniki opcji sudo
Chociaż składnia sudo jest proste, warto wiedzieć o kilku przełącznikach. Te polecenia otwierają dodatkowe informacje lub pomagają kontrolować sesję sudo:
W sudo wbudowanych jest wiele innych opcji i można je wszystkie zobaczyć za pomocą pierwszego przełącznika -h wymienionego powyżej.
Powyższy zrzut ekranu jest wynikiem użycia opcja pomocy.
Przydatne polecenia sudo
Które polecenia sudo powinien znać każdy użytkownik Linuksa? Omówiliśmy już aktualizację sudo apt-get, ale zwróć też uwagę na to:
Są to prawdopodobnie pierwsze polecenia sudo, których będziesz musiał użyć, ale jak nauczyłeś się powyżej, każde polecenie może podążać za sudo, ale powinieneś używać tylko tych, które wymagają z nim wyższych uprawnień.