Zanim przejdziemy do procesu nadawania użytkownikom statusu sudo w systemie Ubuntu, warto zrozumieć, jakie okoliczności nas do tego prowadzą. Na przykład, gdy zachodzi konieczność zarządzania usługami, instalacji lub aktualizacji oprogramowania w systemie Ubuntu, często napotykamy sytuacje, w których próba wykonania polecenia kończy się komunikatem „Odmowa dostępu”.
W takich przypadkach konieczne jest uruchomienie polecenia z uprawnieniami roota, czyli superużytkownika. Jednakże, ze względów bezpieczeństwa, takie podejście nie jest zalecane. Działanie z uprawnieniami roota niesie ryzyko problemów systemowych w przypadku nieostrożnej manipulacji ustawieniami.
Ubuntu, popularna dystrybucja Linuksa, oferuje funkcję sudo, która pozwala użytkownikom na wykonywanie poleceń z podwyższonymi uprawnieniami, bez konieczności logowania się jako root.
W tym artykule omówimy, kim są sudoerzy, jakie są powody ich wykorzystania oraz w jaki sposób można ich dodać w systemie operacyjnym Ubuntu.
Czym jest Sudo/Sudoers?
Dlaczego nie skorzystać z polecenia su lub przełączania użytkownika? Polecenie przełączania użytkownika pozwala na zalogowanie się jako root. Po jego użyciu system poprosi o hasło roota, a następnie umożliwia dokonywanie zmian, w tym dodawanie plików i oprogramowania. Problem polega na tym, że łatwo zapomnieć o wylogowaniu się z konta roota, a pojedyncza pomyłka w poleceniu może skutkować usunięciem ważnych danych lub nawet całego dysku twardego.
Sudo to skrót od „superuser do”. Użytkownicy sudo mogą wykonywać polecenia z podwyższonymi uprawnieniami, instalować i aktualizować oprogramowanie, a także modyfikować ustawienia systemowe. Użytkownik z takimi uprawnieniami to właśnie sudoer. Aby wykonać polecenie z uprawnieniami sudo, użytkownik musi poprzedzić je słowem kluczowym „sudo”. Nie ma konieczności wylogowywania się po wykonaniu poleceń.
W systemie Ubuntu, gdzie występuje wielu użytkowników, nie wszyscy będą mieli uprawnienia sudo. Podczas instalacji, pierwszy utworzony użytkownik automatycznie uzyskuje takie uprawnienia. Jedynie użytkownicy znajdujący się w pliku lub grupie sudoers mogą wykonywać polecenia sudo.
- Plik sudoers – plik konfiguracyjny, który określa, którzy użytkownicy mogą korzystać z sudo i w jaki sposób.
- Grupa sudoers – specjalna grupa użytkowników z uprawnieniami sudo.
Sytuacje, w których konieczne jest przyznanie użytkownikom dostępu Sudo
Uprawnienia do uruchamiania poleceń sudo można przyznać konkretnym użytkownikom w środowisku domowym lub biurowym, na przykład gdy:
- W zespole administratorów lub programistów konieczne jest wykonywanie zadań wymagających dostępu do konta root, takich jak instalacja oprogramowania lub aktualizacja systemu.
- Istnieje potrzeba ograniczenia dostępu użytkowników do określonych plików lub katalogów bez przyznawania im pełnego dostępu.
- Potrzebne jest tymczasowe przyznanie uprawnień roota użytkownikowi-gościowi w celu wykonania jednorazowego zadania, jak np. instalacja i konfiguracja specjalistycznego oprogramowania lub aktualizacja systemu.
Znaczenie przyznawania uprawnień sudo użytkownikom
- Zwiększenie bezpieczeństwa systemu: Umożliwienie użytkownikom korzystania z sudo minimalizuje ryzyko związane z logowaniem się jako root, co mogłoby narazić system na zagrożenia. Użytkownicy z uprawnieniami sudo mają dostęp tylko do niezbędnych zasobów.
- Dostosowanie uprawnień: Nadawanie uprawnień sudo pozwala na precyzyjne określenie, jakie polecenia użytkownicy mogą wykonywać i kiedy, z możliwością określenia, czy do ich wykonania wymagane jest hasło.
- Łatwość monitorowania: Dziennik /var/log/auth.log umożliwia śledzenie wszystkich poleceń wykonanych za pomocą sudo w systemie.
Wymagania wstępne dodania użytkownika do pliku sudoers
- Konto użytkownika z uprawnieniami sudo: Dodawanie użytkownika do sudoers wymaga zalogowania się na konto z takimi uprawnieniami.
- Znajomość nazwy użytkownika: Należy znać nazwę użytkownika, którego chcemy dodać do pliku lub grupy sudoers.
- Edytor tekstu: Domyślnym edytorem tekstu w Ubuntu jest Nano, ale można go zmienić na inny.
Dodawanie użytkownika do pliku sudoers
Istnieje kilka sposobów dodawania użytkowników do pliku sudoers. Zanim jednak do tego przejdziemy, pokażemy jak utworzyć nowego użytkownika.
Załóżmy, że chcemy utworzyć nowego użytkownika o nazwie „titus”. Postępuj zgodnie z poniższymi instrukcjami:
- Zaloguj się na konto użytkownika z uprawnieniami sudo i wykonaj polecenie:
sudo adduser titus
. Zamiast „titus” wpisz nazwę użytkownika, którą chcesz utworzyć.
- Wprowadź hasło. Zostaniesz poproszony o podanie hasła.
- Ustaw nowe hasło i potwierdź je.
- Postępuj zgodnie z instrukcjami (możesz skorzystać z ustawień domyślnych) i wpisz „Y”, aby potwierdzić wszystkie szczegóły.
Nowy użytkownik został utworzony.
Istnieją dwa sposoby dodawania sudoerów w Ubuntu:
#1: Dodanie użytkownika do grupy sudo
Teraz możemy dodać utworzonego użytkownika do grupy sudo. Uruchom poniższe polecenie po zalogowaniu się jako inny użytkownik z uprawnieniami sudo lub jako root.
sudo usermod -aG sudo username
Zastąp „username” nazwą użytkownika, którego chcesz uczynić sudoerem. W naszym przypadku polecenie będzie wyglądać tak:
sudo usermod -aG sudo titus
W ten sposób dodano nowego użytkownika do grupy sudo.
#2: Dodanie użytkownika do pliku Sudoers
Jak już wspomniano, system Linux, taki jak Ubuntu, posiada różnych użytkowników. Można im przyznawać różne uprawnienia dostępu do plików i katalogów. Użytkownicy mogą mieć prawo do „odczytu”, „zapisu” lub „wykonywania” plików.
W pliku sudoers możemy określić, którzy użytkownicy i w jaki sposób mogą korzystać z sudo. Plik ten znajduje się pod ścieżką /etc/sudoers.
Zakładając, że mamy już użytkownika bez uprawnień sudo, wykonajmy poniższe kroki:
- Otwórz terminal.
- Wykorzystaj to polecenie do otwarcia pliku:
sudo visudo
Zostaniesz poproszony o podanie hasła.
- Edytuj plik. Po uruchomieniu polecenia zobaczysz coś w tym stylu:
Chcemy nadać użytkownikowi „kamunya” pełne uprawnienia Sudo.
Odszukaj sekcję podobną do tej:
# User privilege specification root ALL=(ALL:ALL) ALL
Teraz możemy dodać linię, która umożliwi użytkownikowi „kamunya” posiadanie wszystkich uprawnień sudo:
kamunya ALL=(ALL:ALL) ALL
- Zapisz zmiany i wyjdź z edytora. Możesz wykorzystać skróty Ctrl+O, aby zapisać i Ctrl+X, aby wyjść.
Użytkownik został dodany do sudoers przy użyciu pliku sudoers. Chcąc przyznać użytkownikowi „kamunya” konkretne uprawnienia, np. aktualizację oprogramowania bez podawania hasła, należy wykonać te same kroki, ale dodać następującą linię:
kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade
Jak sprawdzić, czy użytkownik posiada uprawnienia sudo
Po wykonaniu powyższych kroków, możesz chcieć upewnić się, czy dany użytkownik jest sudoerem. Można to zrobić za pomocą poniższych metod:
Użycie polecenia sudo
Sprawdzimy, czy użytkownik o nazwie „titus” ma uprawnienia sudo. Polecenie do tego celu będzie wyglądać tak:
sudo -l -U titus
Zamiast „titus” wpisz nazwę użytkownika, którą chcesz sprawdzić.
Jeśli użytkownik jest sudoerem, zobaczysz podobny rezultat:
Jeśli użytkownik nie ma uprawnień sudo, pojawi się błąd informujący, że użytkownik nie może uruchamiać sudo na danym komputerze.
Sprawdzenie grup sudo
Gdy tworzysz użytkownika sudo, system automatycznie przypisuje go do grupy o nazwie użytkownika. Na przykład, użytkownik sudo o nazwie „tk” można sprawdzić, czy należy do grupy za pomocą polecenia:
groups tk
Zamiast „tk” wpisz nazwę użytkownika.
Wynik powinien być podobny do tego:
Jak usunąć użytkownika sudo
W niektórych sytuacjach zachodzi potrzeba usunięcia użytkownika sudo. Może to być spowodowane błędem w konfiguracji lub faktem, że użytkownik wykonywał jedynie jednorazowe zadanie.
Użytkownika można usunąć za pomocą interfejsu GUI lub wiersza poleceń. Poniżej pokazano, jak usunąć użytkownika z poziomu wiersza poleceń:
- Wykorzystaj polecenie:
sudo deluser nazwa_użytkownika
, gdzie „nazwa_użytkownika” to profil, który chcesz usunąć. To podejście usunie użytkownika, ale jego pliki pozostaną.
Usunęliśmy jednego z naszych użytkowników („kamunya”).
Aby usunąć również pliki użytkownika, skorzystaj z polecenia:
sudo deluser --remove-home username
W naszym przypadku będzie to:
sudo deluser --remove-home kamunya
Najlepsze praktyki zarządzania użytkownikami w pliku sudoers
- Zawsze korzystaj z polecenia
visudo
: Dodając sudoerów poprzez edycję pliku sudoers, korzystaj wyłącznie z poleceniavisudo
. Upewnij się, że nie ma w nim błędów, zapisz zmiany i wyjdź z edytora. - Wykorzystaj grupy: Zamiast dodawać pojedynczych użytkowników do sudo, dodawaj ich do grup. Możesz utworzyć różne grupy (np. „administratorzy”, „programiści”) z różnymi uprawnieniami.
- Dokumentuj dostęp: Rejestruj, którym użytkownikom przyznano uprawnienia sudo i jakie mają możliwości. Ułatwi to nowym pracownikom zrozumienie struktury dostępu w przypadku zmian.
- Monitoruj dostęp: Regularnie monitoruj, którzy użytkownicy z uprawnieniami sudo logują się do systemu. Takie podejście umożliwia usuwanie użytkowników lub zmianę ich uprawnień w miarę zmieniających się potrzeb.
Podsumowanie
Ubuntu jest powszechnie wykorzystywane przez administratorów i programistów. Ważne jest, aby mieć pewność, że podczas uzyskiwania dostępu do systemu, odpowiedni użytkownicy mają nadane stosowne uprawnienia.
Teraz wiesz, kim są sudoerzy i jakie są sposoby ich dodawania w Ubuntu. Tacy użytkownicy mogą korzystać z systemu z ograniczonymi, ale wystarczającymi uprawnieniami, bez konieczności logowania się z pełnym dostępem.
Administratorzy systemów mogą również zapoznać się z poleceniami związanymi z wydajnością systemu Linux.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.