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,ddla 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ń:
- Symboliczny:
- Dodanie uprawnień:
chmod u+x plik.txt
- Odebranie uprawnień:
chmod g-w plik.txt
- Ustawienie uprawnień:
chmod o=r plik.txt
- 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:
- Ustawienie pełnych praw dla właściciela i tylko odczytu dla grupy i innych:
chmod 744 dokument.txt
- Nadanie wszystkim użytkownikom prawa zapisu do pliku:
chmod a+w dokument.txt
- 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ń
-
Utwórz katalog
cwiczeniai przejdź do niego: -
Utwórz plik
test.txt: -
Nadaj plikowi
test.txtpełne prawa dla właściciela i tylko prawo odczytu dla grupy oraz innych: -
Wyświetl uprawnienia pliku:
Ćwiczenie 2: Rekurencyjna zmiana uprawnień
-
W katalogu
cwiczeniautwórz podkatalogdokumenty: -
W katalogu
dokumentyutwórz plikiplik1.txtiplik2.txt: -
Rekurencyjnie nadaj pełne prawa właścicielowi oraz prawo odczytu i wykonania dla grupy i innych:
-
Sprawdź uprawnienia plików w katalogu
dokumenty:
Ćwiczenie 3: Odebranie uprawnień
-
Utwórz plik
tajny.txt: -
Nadaj plikowi pełne prawa dla wszystkich:
-
Odejmij prawo zapisu dla grupy i innych użytkowników:
-
Sprawdź aktualne uprawnienia:
Ćwiczenie 4: Korzystanie z aliasów i symboliczną zmianą praw
-
Utwórz plik
skrypt.shi nadaj mu prawo wykonania dla właściciela: -
Odbierz wszystkim użytkownikom prawo odczytu:
-
Dodaj prawo zapisu tylko dla właściciela:
-
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.