W systemie Linux poleceniem jednorazowo podnoszącym uprawnienia dla procesu uruchamianego z konsoli jest
A. users
B. uname
C. passwd
D. sudo
Pytanie z egzaminu CKE, czerwiec 2021 (arkusz E.12-SG-21.06).
Polecenie sudo jest właściwą odpowiedzią, bo służy do uruchomienia pojedynczego polecenia z uprawnieniami innego użytkownika, najczęściej administratora root. W praktyce wygląda to np. tak: sudo apt update, sudo systemctl restart ssh albo sudo useradd jan. Czyli nie logujesz się na stałe jako root, tylko na chwilę podnosisz uprawnienia dla konkretnego procesu. To jest bardzo ważna zasada administracji Linuksem: używamy minimalnych wymaganych uprawnień, a nie pracujemy cały czas jako administrator. Moim zdaniem to jedna z tych komend, które trzeba znać odruchowo, ale też używać z głową. Dostęp do sudo jest kontrolowany przez konfigurację sudoers, zwykle edytowaną bezpiecznie poleceniem visudo, żeby nie zepsuć składni pliku. Dodatkowo użycie sudo może być logowane, więc administrator ma ślad, kto i kiedy wykonał operację wymagającą wyższych uprawnień. To pasuje do dobrych praktyk bezpieczeństwa: rozliczalność, ograniczenie uprawnień i brak codziennej pracy na koncie root.
W tym pytaniu łatwo pomylić polecenia systemowe, bo wszystkie wyglądają jak typowe komendy z terminala Linuksa, ale ich przeznaczenie jest zupełnie inne. uname służy do wyświetlania informacji o systemie, na przykład nazwy jądra, architektury procesora albo wersji kernela. Przydaje się w diagnostyce i dokumentowaniu środowiska, ale nie zmienia uprawnień procesu. users pokazuje zalogowanych użytkowników, więc też dotyczy kont, jednak tylko w sensie informacyjnym. Nie uruchamia programu jako administrator i nie nadaje żadnych praw. passwd jest bardziej podstępne, bo kojarzy się z kontami i bezpieczeństwem. Faktycznie służy do zmiany hasła użytkownika, a administrator może nim zarządzać hasłami innych kont, ale samo passwd nie jest mechanizmem jednorazowego podnoszenia uprawnień dla dowolnego polecenia. Typowy błąd myślowy polega tu na tym, że skoro komenda dotyczy użytkowników albo haseł, to automatycznie musi mieć związek z administracją i podwyższaniem praw. W Linuksie trzeba rozróżniać polecenia informacyjne, narzędzia do zarządzania kontami oraz mechanizmy kontroli uprawnień. Do czasowego uruchomienia konkretnego procesu z wyższymi prawami używa się sudo, zgodnie z zasadą najmniejszych uprawnień. Z mojego doświadczenia wynika, że to dużo bezpieczniejsze niż logowanie się bezpośrednio na roota i wykonywanie wszystkiego bez ograniczeń.