Dodanie użytkownika do sudo: zachowaj grupy i sprawdź nowe logowanie

Dodanie użytkownika do sudo jest decyzją o dostępie do administracji systemem. Konto z pełnymi uprawnieniami może zmieniać konfigurację, instalować oprogramowanie i usuwać dane innych użytkowników. Warto więc zacząć od pytania, czy potrzebuje całego zakresu, czy jedynie wykonania określonego zadania.

Na typowej instalacji Ubuntu i Debiana najprościej wykorzystać istniejącą grupę sudo. Poniższa procedura zakłada działające konto administratora oraz świadome przyznanie pełnego dostępu. Nazwa jan jest przykładem — zastąp ją właściwym loginem, nie nazwą wyświetlaną przy awatarze.

Sprawdź konto i zachowaj dostęp administratora

Nie zamykaj sesji, z której możesz obecnie wykonywać polecenia administracyjne. Przy pracy przez SSH zachowaj to połączenie do czasu potwierdzenia działania nowego dostępu. Test w drugim połączeniu jest bezpieczniejszy niż wylogowanie jedynego działającego administratora.

id jan
getent group sudo

Pierwszy wynik potwierdza tożsamość konta i jego grupy. Drugi pokazuje wpis grupy sudo, jeśli jest dostępny w używanym źródle informacji o użytkownikach. Sprawdź pisownię loginu i wcześniejsze członkostwa. Nie twórz nowej grupy tylko po to, żeby usunąć komunikat błędu.

Sama nazwa grupy nie nadaje uprawnień: musi odpowiadać aktywnej regule polityki sudo. W innych dystrybucjach, środowiskach firmowych i instalacjach z własną konfiguracją zasady mogą być inne. Ustal właściwą grupę lub regułę z administratorem, zamiast przenosić polecenie z Ubuntu bez sprawdzenia.

Dodaj grupę bez usuwania poprzednich członkostw

Z konta uprawnionego do administracji wykonaj:

sudo usermod -aG sudo jan

Opcja -G określa grupy dodatkowe, a -a dołącza wskazaną grupę do istniejących. Pominięcie -a może usunąć użytkownika z innych grup dodatkowych. Skutkiem bywa utrata dostępu do urządzenia, katalogu projektu lub narzędzi używanych wcześniej.

Po wykonaniu sprawdź ponownie id jan. Wpis konta powinien uwzględniać sudo oraz wcześniejsze grupy. Jeżeli pojawił się błąd, nie zakładaj, że zmiana częściowo zadziałała. Wyjaśnij komunikat i porównaj stan konta, zanim przejdziesz do testu logowania.

Przetestuj nowe logowanie, nie tylko nową kartę terminala

Już uruchomione procesy mogą zachować poprzedni zestaw grup. Użytkownik powinien zakończyć swoją dotychczasową sesję i zalogować się ponownie. Nowe okno terminala otwarte w starej sesji graficznej nie zawsze wystarczy.

W świeżej sesji docelowego użytkownika wykonaj:

id
sudo -l
sudo id -u

Pierwsze polecenie pokazuje grupy tej sesji. Drugie pozwala obejrzeć dostępne uprawnienia sudo. Ostatnie wykonuje nieszkodliwy odczyt identyfikatora użytkownika z podwyższonymi uprawnieniami; przy poprawnym pełnym dostępie wynik wynosi 0.

W standardowej konfiguracji sudo prosi o hasło użytkownika wywołującego polecenie, a nie hasło roota. Brak ponownego pytania bezpośrednio po udanym uwierzytelnieniu może wynikać z czasowego zapamiętania autoryzacji. Nie traktuj tego jako dowodu włączenia dostępu bez hasła.

Dopiero po udanym teście możesz zakończyć sesję poprzedniego administratora. Jeżeli użytkownik widzi odmowę, sprawdź oddzielnie członkostwo nowej sesji i obowiązującą politykę. Wielokrotne dopisywanie tej samej grupy nie naprawi reguły, której system nie używa.

Kiedy potrzebna jest edycja sudoers

Przy istniejącej prawidłowej grupie administracyjnej nie trzeba dodatkowo dopisywać pełnej reguły dla każdego konta. Osobny wpis ma sens przy świadomie zaplanowanej polityce, np. dla konta wykonującego ograniczoną pracę.

Do edycji używaj visudo, które sprawdza składnię i chroni przed równoczesnymi zmianami. Przykładowy plik można otworzyć poleceniem sudo visudo -f /etc/sudoers.d/90-jan, jeżeli konfiguracja wczytuje ten katalog. Nazwa nie powinna zawierać kropki ani kończyć się tyldą: pliki tego typu mogą zostać pominięte.

Po zmianie uruchom sudo visudo -c, aby sprawdzić konfigurację. Nie wymuszaj zapisu błędnej składni. Nie dopisuj uniwersalnego NOPASSWD wyłącznie dla wygody i nie uznawaj krótkiej listy poleceń za automatycznie bezpieczne ograniczenie. Edytor, interpreter lub program uruchamiający inne procesy może umożliwić znacznie więcej niż sugeruje jego nazwa.

Zaplanuj również odebranie uprawnień

Zapisz, komu i z jakiego powodu przyznano dostęp. Gdy przestaje być potrzebny, administrator powinien usunąć odpowiednie członkostwo lub regułę oraz sprawdzić pozostałe źródła uprawnień. Konto może mieć dostęp jednocześnie przez grupę i indywidualny wpis.

Uwzględnij aktywne sesje i procesy: odebranie grupy nie kończy automatycznie już uruchomionej powłoki roota. Po zmianie sprawdź rzeczywiste prawa w nowym logowaniu. Zadbaj też o ochronę hasła administratora i aktualną kopię danych użytkownika. Uprawnienia pomagają zarządzać systemem, ale nie zastępują możliwości odzyskania plików po pomyłce.