Zarządzanie uprawnieniami plików i katalogów za pomocą polecenia

Wprowadzenie

System Linux oferuje precyzyjny mechanizm zarządzania dostępem do plików i katalogów. Polecenie chmod pozwala zmieniać uprawnienia dostępu, co jest kluczowe dla bezpieczeństwa i funkcjonalności systemu. W tej lekcji poznasz zasady działania polecenia chmod, dowiesz się, jak interpretować uprawnienia, oraz nauczysz się nadawać i modyfikować prawa dostępu.


Część teoretyczna

1. Uprawnienia w systemie Linux

Każdy plik i katalog w systemie Linux ma przypisane uprawnienia dla trzech grup użytkowników:

  • u (user) – właściciel pliku/katalogu,
  • g (group) – grupa, do której należy właściciel,
  • o (others) – pozostali użytkownicy.

Uprawnienia dzielą się na:

  • r (read) – prawo odczytu,
  • w (write) – prawo zapisu,
  • x (execute) – prawo wykonania.

2. Reprezentacja uprawnień

Uprawnienia są przedstawiane w formacie:

-rwxr--r--
  • Pierwszy znak określa typ pliku (- dla pliku, d dla katalogu),
  • Kolejne trzy grupy oznaczają prawa dostępu właściciela, grupy i innych użytkowników.

3. Polecenie chmod

Składnia:
chmod [opcje] [ugoa] [+-=] [rwx] plik_lub_katalog
Najczęściej używane opcje:
  • -R – zmiana uprawnień w sposób rekursywny dla katalogów i ich zawartości,
  • -v – wyświetlanie informacji o zmianach,
  • --help – wyświetlanie pomocy.
Sposoby zmiany uprawnień:
  1. Symboliczny:
  • Dodanie uprawnień:
chmod u+x plik.txt
  • Odebranie uprawnień:
chmod g-w plik.txt
  • Ustawienie uprawnień:
chmod o=r plik.txt
  1. Numeryczny:
  • Każde uprawnienie ma przypisaną wartość:
  • r = 4, w = 2, x = 1.
  • Przykład:
chmod 755 plik.txt

Tłumaczenie:

  • Właściciel: odczyt, zapis, wykonanie (7 = 4+2+1),
  • Grupa: odczyt, wykonanie (5 = 4+1),
  • Inni: odczyt, wykonanie (5 = 4+1).
Przykłady:
  1. Ustawienie pełnych praw dla właściciela i tylko odczytu dla grupy i innych:
chmod 744 dokument.txt
  1. Nadanie wszystkim użytkownikom prawa zapisu do pliku:
chmod a+w dokument.txt
  1. Rekurencyjne nadanie praw do katalogu i jego zawartości:
chmod -R 755 katalog/

Tworzenie plików, katalogów i nawigacja

Polecenia używane w ćwiczeniach:

  • Tworzenie pliku:
touch plik.txt
  • Tworzenie katalogu:
mkdir katalog
  • Przechodzenie między katalogami:
cd katalog
  • Wyświetlenie zawartości katalogu z uprawnieniami:
ls -l

Ćwiczenia

Ćwiczenie 1: Tworzenie plików i zmiana uprawnień

  1. Utwórz katalog cwiczenia i przejdź do niego:

  2. Utwórz plik test.txt:

  3. Nadaj plikowi test.txt pełne prawa dla właściciela i tylko prawo odczytu dla grupy oraz innych:

  4. Wyświetl uprawnienia pliku:


Ćwiczenie 2: Rekurencyjna zmiana uprawnień

  1. W katalogu cwiczenia utwórz podkatalog dokumenty:

  2. W katalogu dokumenty utwórz pliki plik1.txt i plik2.txt:

  3. Rekurencyjnie nadaj pełne prawa właścicielowi oraz prawo odczytu i wykonania dla grupy i innych:

  4. Sprawdź uprawnienia plików w katalogu dokumenty:


Ćwiczenie 3: Odebranie uprawnień

  1. Utwórz plik tajny.txt:

  2. Nadaj plikowi pełne prawa dla wszystkich:

  3. Odejmij prawo zapisu dla grupy i innych użytkowników:

  4. Sprawdź aktualne uprawnienia:


Ćwiczenie 4: Korzystanie z aliasów i symboliczną zmianą praw

  1. Utwórz plik skrypt.sh i nadaj mu prawo wykonania dla właściciela:

  2. Odbierz wszystkim użytkownikom prawo odczytu:

  3. Dodaj prawo zapisu tylko dla właściciela:

  4. Sprawdź efekty:


Podsumowanie

Polecenie chmod jest podstawowym narzędziem do zarządzania uprawnieniami w systemie Linux. Umożliwia ono precyzyjne kontrolowanie dostępu do plików i katalogów, co ma kluczowe znaczenie dla bezpieczeństwa systemu. Regularna praktyka z tym poleceniem pozwala na lepsze zrozumienie zasad funkcjonowania systemu plików w Linux.