KWALIFIKACJA INF2 - STYCZEŃ 2019 (test 3)

PYTANIE NR 38.
Które polecenie w systemie Linux nada uprawnienia do pisania dla wszystkich obiektów w /usr/share dla wszystkich użytkowników, nie zmieniając pozostałych uprawnień?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
chmod -R a+w /usr/share w trybie symbolicznym dodaje (operator +) prawo zapisu (w) dla wszystkich klas użytkowników (a = u,g,o). Opcja -R działa rekursywnie na całą zawartość katalogu, a dodanie nie usuwa innych uprawnień.

Pełne wyjaśnienie:

Polecenie chmod służy do zmiany uprawnień plików i katalogów w systemach typu UNIX/Linux. W zapisie symbolicznym składa się ono z:

  • klasy użytkowników: u (właściciel), g (grupa), o (inni) lub a (wszyscy: u+g+o),
  • operatora: + (dodaj), - (usuń), = (ustaw dokładnie),
  • praw: r (odczyt), w (zapis), x (wykonanie/wejście do katalogu).

Odpowiedź "chmod -R a+w /usr/share" jest poprawna, ponieważ:

  • a+w dodaje prawo zapisu wszystkim klasom użytkowników,
  • operator + oznacza dopisanie prawa, więc nie zmienia pozostałych uprawnień (nie usuwa np. odczytu ani wykonywania),
  • opcja -R powoduje działanie rekursywne, czyli na wszystkie pliki i podkatalogi w drzewie /usr/share.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "chmod ugo+rw /usr/share" nie zawiera -R, więc dotyczy wskazanego obiektu, a nie całej zawartości katalogu. Dodatkowo dodaje też r, co nie jest wymagane (choć "+r" zwykle nie szkodzi, to nie spełnia precyzyjnie warunku o pisaniu dla wszystkich obiektów w drzewie).
  • "chmod a-w /usr/share" usuwa prawo zapisu, czyli robi odwrotność tego, o co pyta zadanie.
  • "chmod -R o+r /usr/share" działa rekursywnie, ale dodaje jedynie odczyt (r) i tylko dla "innych" (o), a nie zapis i nie dla wszystkich klas.

Wskazówka egzaminacyjna: gdy w treści pojawia się "nie zmieniając pozostałych uprawnień", szukaj zapisu symbolicznego z operatorem + lub - (a nie =). Gdy jest "dla wszystkich obiektów w katalogu", zwykle potrzebne jest -R.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
a+w oznacza: dodaj (+) prawo zapisu (w) dla wszystkich klas użytkowników (a = owner u, group g, others o). To jest "dodanie", więc nie usuwa innych praw, które już były ustawione.
Opcja -R (rekursywnie) powoduje, że chmod zmienia uprawnienia nie tylko wskazanego katalogu, ale też wszystkich plików i podkatalogów znajdujących się w jego drzewie. Uwaga: może to szybko zmienić bardzo wiele obiektów, więc warto testować na kopii lub katalogu testowym.
W trybie symbolicznym chmod operator + oznacza "dodaj wskazane bity uprawnień", a nie "ustaw wszystko od nowa". Dlatego dodanie w nie usuwa np. r ani x. Nadpisywanie wykonywałby operator =, którego tutaj się unika.
Najprościej użyć ls -ld dla katalogu, np. ls -ld /usr/share, i odczytać kolumnę uprawnień. Zapis dla "innych" to litera w w 9. pozycji. Dla pełnego obrazu warto też sprawdzić uprawnienia plików w środku: ls -l.
Zwykle nie. Nadanie zapisu "dla wszystkich" w katalogach systemowych zwiększa ryzyko podmiany plików i eskalacji uprawnień. W praktyce administracyjnej stosuje się zasadę najmniejszych uprawnień: zapis przyznaje się konkretnemu użytkownikowi/grupie lub używa mechanizmów typu ACL, zamiast robić katalog world-writable.
ugo+rw dodaje jednocześnie odczyt i zapis dla właściciela, grupy i innych, a więc zmienia więcej niż tylko zapis. Z kolei a+w dodaje wyłącznie zapis dla wszystkich (a = u,g,o). W zadaniach egzaminacyjnych liczy się precyzja: "dopisz tylko to, o co proszą".
Gdy problem wynika z tego, że pliki mają złego właściciela lub grupę, sama zmiana praw może być półśrodkiem. chown zmienia właściciela, a chgrp grupę. Często bezpieczniej jest przypisać właściwą grupę i dać zapis grupie, niż dawać zapis wszystkim użytkownikom.
Najczęstsze pomyłki to: brak -R mimo wymagania "dla wszystkich obiektów", użycie operatora = (nadpisuje prawa), oraz mylenie klas o (inni) z a (wszyscy). Warto też pamiętać, że katalogi wymagają x do "wejścia", a nie tylko r/w.
Tryb numeryczny (np. 777) zwykle ustawia komplet uprawnień, więc łatwo nadpisać coś niechcący. Aby "dodać" w sposób przyrostowy, wygodniejszy jest tryb symboliczny (+w). Numerycznie można to robić, ale wymaga znajomości aktualnego stanu i obliczeń bitów.
Opanuj: znaczenie r/w/x, klasy u/g/o/a, operatory +/-/= oraz wpływ -R. Ćwicz na katalogach testowych i porównuj wynik ls -l przed i po zmianie. Na egzaminie zwracaj uwagę na słowa "dodaje", "usuwa", "rekursywnie".
info

Około 43% zdających odpowiada poprawnie na to pytanie. trudne

Eksperci podkreślają: "chmod -R a+w /usr/share w trybie symbolicznym dodaje (operator +) prawo zapisu (w) dla wszystkich klas użytkowników (a = u,g,o)."

Źródła:

  • Linux man-pages / manual: chmod(1) — opis trybu symbolicznego i opcji -R, https://man7.org/linux/man-pages/man1/chmod.1.html (dostęp: 2026-03-01)
  • GNU Coreutils Manual: "chmod invocation" — składnia, klasy u/g/o/a i operator +/-, https://www.gnu.org/software/coreutils/manual/html_node/chmod-invocation.html (dostęp: 2026-03-01)
  • Debian Reference: sekcja o uprawnieniach plików i poleceniu chmod, https://www.debian.org/doc/manuals/debian-reference/ch04.en.html (dostęp: 2026-03-01)

Materiały:

  • Strona podręcznika: chmod(1) oraz sekcje o trybie symbolicznym
  • Materiały o modelu uprawnień UNIX (u/g/o, r/w/x, katalog vs plik)
  • Ćwiczenia z administracji Linuksem: praca na katalogach testowych i analiza wyniku ls -l

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego