Uzyskiwanie Uprawnień
Administratorzy systemu, a w niektórych przypadkach użytkownicy, muszą wykonywać określone zadania z dostępem administracyjnym. Dostęp do systemu za pomocą użytkownika root
jest potencjalnie niebezpieczny i może prowadzić do rozległych uszkodzeń systemu i danych. W tym rozdziale omówiono sposoby uzyskiwania uprawnień administracyjnych za pomocą programów setuid takich jak su i sudo. Programy te pozwalają konkretnym użytkownikom na wykonanie zadań, które normalnie byłyby dostępne jedynie dla użytkownika root
, jednocześnie zachowując wyższy poziom kontroli i bezpieczeństwa systemu.
Polecamy zapoznać się również z Poradnikiem Bezpieczeństwa Red Hat Enterprise Linux 7, gdzie znajdziesz dodatkowe informacje na temat mechanizmów zarządzania systemem, potencjalnych zagrożeń oraz sposobów na uniknięcie utraty danych z powodu niepoprawnego użycia uprawnień administratora.
Polecenie su
Gdy użytkownik wywoła polecenie su, zostanie poproszony o hasło do konta`root`. Po poprawnym uwierzytelnieniu zostanie uruchomiona linia komend użytkownika root
.
Po zalogowaniu za pomocą komendy su, użytkownik używa konta root
i ma pełen dostęp do komputera jako administrator. Warto mieć na uwadze, że dostęp ten wciąż jest limitowany przez ograniczenia narzucane przez program SELinux, o ile jest włączony. Dodatkowo, gdy użytkownik używa konta root
, może ponownie użyć polecenia su aby zalogować się na dowolnego innego użytkownika w systemie bez potrzeby podawania hasła.
Z racji możliwości tego programu, zalecane jest aby administratorzy systemowi w ramach swoich organizacji ograniczali dostęp do tej komendy.
Jednym z prostszych sposobów, aby dać użytkownikowi uprawnienia do tej komendy jest dodanie go do specjalnej grupy administratorów zwanej wheel. Aby to zrobić, wpisz następujące polecenie jako root
:
~]# usermod -a -G wheel nazwaUżytkownika
W powyższym poleceniu zastąp słowo użytkownik nazwą użytkownika, którego chcesz dodać do grupy wheel
.
Możesz również użyć zakładki Użytkownicy w ustawieniach systemu aby zarządzać grupami użytkowników. Potrzebujesz do tego uprawnień administratora.
-
Wciśnij przycisk Super aby otworzyć Podgląd Aktywności, wpisz Użytkownicy i wciśnij Enter. Narzędzie Użytkownicy zostanie wyświetlone. Przycisk Super ma różny wygląd w zależności od klawiatury, ale zwykle jest to przycisk Windows lub Command, zazwyczaj ulokowany na lewo od Spacji.
-
Aby umożliwić wprowadzanie zmian, wciśnij przycisk Odblokuj… i wpisz prawidłowe hasło administratora.
-
Wybierz ikonę użytkownika z kolumny po lewej stronie, aby wyświetlić jego ustawienia w panelu po prawej stronie.
-
Zmień typ konta ze
Standardowe
naAdministrator`za pomocą suwaka. To doda użytkownika do grupy `wheel
.
Zapoznaj się z rozdziałem Zarządzanie użytkownikami w środowiskach graficznych aby uzyskać więcej informacji na temat narzędzia Użytkownicy.
Po dodaniu odpowiednich użytkowników do grupy wheel
, zaleca się ograniczenie dostępu do komendy su tylko do kont z tej grupy. Aby tego dokonać, należy zmodyfikować plik konfiguracji PAM dla komendy su, /etc/pam.d/su
. Otwórz ten plik w edytorze tekstowym i odkomentuj następującą linię poprzez usunięcie znaku #
:
#auth required pam_wheel.so use_uid
Ta zmiana spowoduje, że tylko członkowie grupy administracyjnej wheel
będą mieli możliwość przełączenia się na inne konto za pomocą polecenia su.
Uwaga
Użytkownik |
Polecenie sudo
Polecenie sudo umożliwia inne podejście do udostępniania użytkownikowi uprawnień administratora. Gdy użytkownik z odpowiednimi uprawnieniami poprzedzi polecenie za pomocą komendy sudo, zostanie poproszony o swoje własne hasło. Jeżeli uwierzytelnienie się powiedzie oraz użytkownik ma uprawnienia do używania tej komendy, polecenie zostanie wykonane tak, jakby użytkownik był zalogowany na konto root
.
Podstawowa struktura polecenia sudo wygląda tak:
sudo polecenie
W powyższym przykładzie, polecenie powinno zostać zastąpione wywołaniem komendy która jest zarezerwowana dla użytkownika root
- na przykład polecenie mount.
Polecenie sudo pozwala na większą elastyczność. Na przykład, tylko użytkownicy wymienieni w pliku /etc/sudoers
są uprawnieni korzystać z polecenia sudo, a polecenie jest wykonywane w kontekście ich sesji linii komend, a nie użytkownika root
. Oznacza to, że dostęp do sesji użytkownika root
może być całowicie zablokowana - opis takiego przypadku znajduje się w Poradniku Bezpieczeństwa Red Hat Enterprise Linux 7.
Każde udane uwierzytelnienie za pomocą polecenia sudo jest zapisywane w pliku /var/log/messages
, a wywołane polecenie wraz z nazwą konta, z którego zostało wywołane w pliku /var/log/secure
. Jeżeli dodatkowe wpisy w dzienniku są wymagane, użyj modułu pam_tty_audit
aby włączyć audyt TTY dla konkretnych użytkowników poprzez dodanie następującej linii do pliku /etc/pam.d/system-auth
:
session required pam_tty_audit.so disable=wzór enable=wzór
gdzie wzór to oddzielona przecinkami lista użytkowników, z uwzględnieniem symbolów maski. Przykładowo, następująca konfiguracja udostępni audyt TTY dla użytkownika root
i zablokuje go dla pozostałych użytkowników:
session required pam_tty_audit.so disable=* enable=root
Kolejną zaletą polecenia sudo jest to, że administrator może umożliwić różnym użytkownikom dostęp do konkretnych poleceń, na podstawie ich potrzeb.
Administratorzy chcący modyfikować plik /etc/sudoers
zawierający konfigurację komendy sudo, powinni użyć polecenia visudo.
Aby nadać pełne uprawnienia administratora, użyj polecenia visudo i dodaj linię zbliżoną do następującej w sekcji definiującej uprawnienia użytkowników:
jarek ALL=(ALL) ALL
Na bazie tego przykładu użytkownik jarek
może użyć polecenia sudo z dowolnego serwera i wykonać dowolne polecenie.
Przykład poniżej pokazuje poziom granulacji, z jaką można konfigurować polecenie sudo:
%users localhost=/sbin/shutdown -h now
Na bazie tego przykładu każdy użytkownik będący w grupie systemowej users
może wywołać polecenie /sbin/shutdown -h now, tak długo jak jest wywołane z poziomu konsoli.
Dokumentacja man dla sudoers
opisuje dokładniej możliwości konfiguracji tego pliku.
Ważne
Istnieją pewne zagrożenia, o których należy pamiętać używając polecenia sudo. Możesz ich uniknąć poprzez wykorzystanie polecenia visudo do modyfikacji pliku konfiguracji
|
Dodatkowe materiały
Programy dające uprawnienia administratora stanowią potencjalne źródło zagrożenia dla systemu, ale bezpieczeństwo systemu jest poza zakresem tej książki. Zachęcamy do użycia materiałów przedstawionych poniżej, aby lepiej poznać tematy bezpieczeństwa i uprawnień systemowych.
-
su
(1) — Strona dokumentacji dla polecenia su przedstawia informacje odnośnie dodatkowych opcji, które można podać wraz z tym poleceniem. -
sudo
(8) — Strona dokumentacji dla polecenia sudo przedstawia dokładny opis zachowania tej komendy oraz opisuje jakie są możliwości zmiany ich zachowania. -
pam
(8) — Strona dokumentacji opisuje jak używać wtyczek z modułami uwierzytelniania (Pluggable Authentication Modules, (PAM)) dla systemu Linux.
-
Poradnik Bezpieczeństwa Red Hat Enterprise Linux 7 opisuje dokładniej potencjalne ryzyka bezpieczeństwa podczas używania programów typu setuid, oraz jak im zapobiegać.
-
Zarządzanie użytkownikami i grupami opisuje jak zarządzać użytkownikami i grupami za pomocą zarówno graficznego interfejsu użytkownika, jak i za pomocą linii komend.
Want to help? Learn how to contribute to Fedora Docs ›