Przejdź do głównej treści

Kwalifikacja: INF.02 - Administracja i eksploatacja systemów komputerowych, urządzeń peryferyjnych i lokalnych sieci komputerowych

Zawód: Technik informatyk

Kategorie: Systemy operacyjne Bezpieczeństwo i kopie zapasowe Linux/Unix

Słowa kluczowe: Konwersja systemów liczbowych chmod w Linuxie

W systemie Linux polecenie chmod 321 start spowoduje nadanie następujących uprawnień plikowi start:

A. zapis, odczyt i wykonanie dla użytkownika root, odczyt i wykonanie dla użytkownika standardowego, odczyt dla pozostałych
B. czytanie, zapis i wykonanie dla właściciela pliku, zapis i wykonanie dla grupy i czytanie dla pozostałych
C. pełna kontrola dla użytkownika root, zapis i odczyt dla użytkownika standardowego, odczyt dla pozostałych
D. wykonanie i zapis dla właściciela pliku, zapis dla grupy, wykonanie dla pozostałych

Pytanie z egzaminu CKE, styczeń 2020 (arkusz E.12-SG-20.01).

Polecenie chmod 321 start ustawia uprawnienia pliku start w zapisie ósemkowym, czyli takim, który w Linuksie jest standardowo używany do szybkiego nadawania praw dostępu. Trzy cyfry oznaczają kolejno: właściciela pliku, grupę oraz pozostałych użytkowników. Każda cyfra jest sumą wartości: odczyt r = 4, zapis w = 2, wykonanie x = 1. Dlatego 3 oznacza 2 + 1, czyli zapis i wykonanie, bez odczytu. Cyfra 2 daje tylko zapis dla grupy, a 1 daje tylko wykonanie dla pozostałych. W efekcie chmod 321 start ustawi prawa: właściciel ma wx, grupa ma w, inni mają x. W praktyce takie uprawnienia są dość nietypowe, bo np. wykonanie pliku bez prawa odczytu może mieć sens przy skryptach lub programach, ale grupa z samym zapisem to już ustawienie, które trzeba stosować bardzo świadomie. Z mojego doświadczenia najważniejsze jest zapamiętać kolejność: user, group, others, a nie root, zwykły użytkownik i reszta. To jest bardzo częsta pułapka na sprawdzianach i w terminalu też można się przez to nieźle pomylić.
W tym pytaniu łatwo pomylić dwa pojęcia: właściciela pliku z użytkownikiem root oraz grupę z jakimś użytkownikiem standardowym. Polecenie chmod nie nadaje uprawnień według schematu root, zwykły użytkownik, pozostali. W klasycznym modelu praw dostępu systemów Unix/Linux zawsze chodzi o trzy klasy: właściciel pliku, grupa przypisana do pliku oraz inni użytkownicy. Root jako administrator i tak ma specjalne możliwości omijania typowych ograniczeń, ale nie jest osobną pozycją w zapisie 321. To ważna rzecz administracyjna, bo przy zarządzaniu plikami patrzymy też na właściciela przez ls -l oraz zmieniamy go np. poleceniem chown. Błędne odpowiedzi wynikają też z niepoprawnego odczytania wartości cyfr. W chmod liczby nie są losowymi poziomami dostępu typu mało, średnio, dużo, tylko sumą bitów: 4 to odczyt, 2 to zapis, 1 to wykonanie. Pełny zestaw rwx to 7, bo 4 + 2 + 1 = 7. Zapis 321 nie może więc oznaczać pełnej kontroli dla kogokolwiek, bo pierwsza cyfra to tylko 3, czyli brakuje odczytu. Podobnie zapis i wykonanie dla grupy miałby wartość 3, a nie 2. Gdy ktoś widzi odpowiedź z prawami rwx dla właściciela, wx dla grupy i r dla pozostałych, to tak naprawdę opisuje chmod 734, a nie chmod 321. Moim zdaniem najlepsza metoda na uniknięcie pomyłki to rozpisać sobie cyfry na bity: 3 = wx, 2 = w, 1 = x. Krótko, ale działa prawie zawsze.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.