Jeśli pracujesz z systemem Linux – czy to jako administrator, twórca stron WWW, czy zwykły użytkownik – bardzo szybko trafisz na temat uprawnień plików i katalogów. To właśnie te uprawnienia decydują o tym, kto może czytać, zapisywać lub uruchamiać konkretne pliki. A chmod
to główne narzędzie, które pozwala te uprawnienia zmieniać.
Wyobraź sobie, że masz ważny dokument, który nie powinien być przypadkiem zmodyfikowany przez innych użytkowników. Albo skrypt, który musi być „wykonywalny”, zanim zadziała. Albo folder na serwerze WWW, do którego dostęp mają mieć tylko określone grupy. Właśnie w takich przypadkach chmod
staje się Twoim najlepszym przyjacielem.
W tym poradniku pokażę Ci nie tylko jak zmieniać uprawnienia dla pojedynczego pliku, ale też jak robić to hurtowo, np. dla określonej liczby plików. Dowiesz się również, jak działa system uprawnień w Linuxie, czym różni się chmod 644
od 777
, oraz jak unikać błędów mogących prowadzić do luk w bezpieczeństwie.
📄 Czym jest chmod
i jak działają uprawnienia?
chmod
to skrót od „change mode” – narzędzie, które pozwala zmieniać tzw. tryby dostępu do plików i folderów.
Każdy plik lub katalog w systemie Linux ma przypisane trzy grupy użytkowników:
- u (user) – właściciel
- g (group) – grupa użytkowników
- o (others) – wszyscy inni
I trzy typy uprawnień:
r
– odczyt (read)w
– zapis (write)x
– wykonywanie (execute)
Przykładowy zestaw uprawnień:
-rwxr-xr--
oznacza:
- właściciel może wszystko (
rwx
) - grupa może odczytywać i uruchamiać (
r-x
) - inni mają tylko odczyt (
r--
)
🧍 Zmiana uprawnień pojedynczego pliku
Jeśli chcesz zmienić uprawnienia tylko jednego pliku, to jest to najprostszy przypadek.
✅ Przykład:
chmod 644 dokument.txt
To znaczy:
- właściciel: odczyt + zapis
- grupa i inni: tylko odczyt
Możesz też użyć wersji symbolicznej:
chmod u=rw,g=r,o=r dokument.txt
📁 Zmiana uprawnień dla folderu (i opcjonalnie jego zawartości)
Dla samego folderu:
chmod 755 katalog/
Rekurencyjnie, czyli dla folderu i wszystkiego w środku:
chmod -R 755 katalog/
Uwaga: ta opcja zmienia również uprawnienia plików w środku – trzeba jej używać ostrożnie.
🔢 Zmiana chmod dla wielu plików naraz
✅ Zmiana dla wielu znanych plików:
chmod 600 plik1.txt plik2.txt plik3.txt
✅ Wszystkie pliki .php
:
chmod 644 *.php
✅ Pierwsze 10 plików w folderze:
ls | head -n 10 | xargs chmod 644
✅ Tylko pliki (bez folderów):
find . -maxdepth 1 -type f | xargs chmod 644
🔢 Jak czytać liczby typu 644, 755, 777?
Każda cyfra to suma:
r
(read) = 4w
(write) = 2x
(execute) = 1
Przykłady:
644
= właścicielrw-
, grupar--
, innir--
755
= właścicielrwx
, grupar-x
, innir-x
777
= wszyscy mająrwx
– niezalecane!
📌 Dodatkowe wskazówki:
- Używaj
chmod -R
z rozwagą – bardzo łatwo „zepsuć” uprawnienia w całym katalogu. - Nigdy nie zostawiaj plików z
777
– to proszenie się o kłopoty (np. malware na serwerze). - W systemach produkcyjnych zawsze testuj zmiany na kopii lub pliku testowym.
- Użyj
ls -l
, żeby podejrzeć aktualne uprawnienia:
ls -l nazwa_pliku
✅ Praktyczne przykłady:
Skrypt do zmiany chmod dla 50 pierwszych plików .txt
:
ls *.txt | head -n 50 | xargs chmod 640
Ustawienie wykonania dla pliku:
chmod +x skrypt.sh
Podsumowanie: co warto zapamiętać?
Zmiana uprawnień w Linuxie za pomocą chmod
to podstawowa, ale kluczowa umiejętność każdego użytkownika systemu uniksowego. Daje ona pełną kontrolę nad tym, kto może czytać, edytować lub uruchamiać pliki i foldery.
Najważniejsze rzeczy do zapamiętania:
chmod
pozwala zmienić uprawnienia w trybie liczbowym (755
,644
) lub symbolicznym (u+x
,g-w
,o=r
).- Użycie
chmod -R
modyfikuje również zawartość folderów – zawsze używaj ostrożnie. - Możesz zmieniać chmod hurtowo, używając
find
,ls
,head
,xargs
. 777
to zło – nigdy nie dawaj wszystkim pełnego dostępu, chyba że wiesz dokładnie, co robisz.- Regularnie sprawdzaj i audytuj uprawnienia plików na serwerze – nieprawidłowe ustawienia mogą prowadzić do poważnych problemów z bezpieczeństwem.
Dzięki dobrej znajomości chmod
łatwiej zadbasz o bezpieczeństwo, stabilność i porządek na swojej maszynie lub serwerze.
Ostatnie komentarze