Wyjaśnij uprawnienia plików w Linuxie — kompletny przewodnik
Zarządzanie plikami i ich bezpieczeństwem to jedna z podstawowych umiejętności każdego użytkownika systemu Linux. Kluczowym elementem tego procesu są uprawnienia plików, które pozwalają kontrolować, kto i w jaki sposób może korzystać z plików i katalogów.
W tym artykule kompleksowo wyjaśnimy, jak działają uprawnienia plików w Linuxie, jak je odczytywać, zmieniać oraz jakie konsekwencje niesie za sobą ich nieprawidłowe ustawienie. Jeśli kiedykolwiek zadałeś sobie pytanie: jak działają prawa do plików w Linuxie?, to trafiłeś idealnie.
1. Wprowadzenie
System plików Linuxa posiada wbudowany mechanizm kontroli dostępu, który określa, kto może:
- czytać (read)
- pisać (write)
- wykonywać (execute)
każdy plik lub katalog.

2. Trzy typy użytkowników
Każdy plik i katalog w systemie posiada trzech „właścicieli”:
- Owner (u) – właściciel (użytkownik, który utworzył plik)
- Group (g) – grupa przypisana do pliku
- Others (o) – wszyscy pozostali użytkownicy
3. Jak odczytać uprawnienia?
Użyj polecenia ls -l, aby wyświetlić szczegółowe informacje:
ls -l plik.txt
Wynik:
-rw-r--r-- 1 user grupa 1234 maj 14 12:00 plik.txt
Pierwsze 10 znaków zawiera:
- Typ pliku (pierwszy znak:
-plik,dkatalog) - Trójki uprawnień: dla właściciela, grupy i innych (
rw-,r--,r--)
4. Różnice między plikiem a katalogiem
- r (read):
- Plik: możliwość odczytu zawartości
- Katalog: możliwość listowania zawartości (np.
ls)
- w (write):
- Plik: możliwość edycji
- Katalog: możliwość tworzenia/usuwania plików
- x (execute):
- Plik: możliwość uruchomienia (np. skrypt)
- Katalog: możliwość wejścia do katalogu (
cd)
5. Zmiana uprawnień – chmod
Zmiana praw za pomocą trybu symbolicznego:
chmod u+x skrypt.sh # dodaj prawo do uruchamiania dla właściciela
chmod g-w plik.txt # odbierz prawo do zapisu dla grupy
chmod o+r plik.txt # daj prawo do odczytu innym
Tryb numeryczny:
chmod 755 skrypt.sh
Tłumaczenie 755:
7(rwx) – właściciel5(r-x) – grupa5(r-x) – inni
6. Zmiana właściciela i grupy – chown i chgrp
chown nowy_user plik.txt
chown user:nowa_grupa plik.txt
chgrp nowa_grupa plik.txt
7. Tryb symboliczny vs numeryczny
| Symboliczny | Numeryczny | Znaczenie |
|---|---|---|
| rwx | 7 | pełne prawa |
| rw- | 6 | odczyt + zapis |
| r-x | 5 | odczyt + wykonanie |
| r– | 4 | tylko odczyt |
| -wx | 3 | zapis + wykonanie |
| -w- | 2 | tylko zapis |
| –x | 1 | tylko wykonanie |
| — | 0 | brak praw |
8. Specjalne uprawnienia
- SUID (Set UID) – uruchamiany z uprawnieniami właściciela (np.
passwd) - SGID (Set GID) – dziedziczenie grupy w katalogu
- Sticky Bit – tylko właściciel może usuwać pliki (np.
/tmp)
chmod u+s plik
chmod g+s katalog
chmod +t katalog
9. Umask – domyślne prawa
Polecenie umask określa, jakie prawa będą odjęte od pełnych (666 dla plików, 777 dla katalogów).
Przykład:
umask 022
Nowe pliki: 644
Nowe katalogi: 755
10. ACL – Access Control Lists
ACL pozwalają na bardziej precyzyjne zarządzanie uprawnieniami:
setfacl -m u:janek:rw plik.txt
getfacl plik.txt
11. Praktyczne przykłady
Zabezpieczenie skryptu tylko dla właściciela:
chmod 700 skrypt.sh
Udostępnienie katalogu grupie:
chown :grupa katalog
chmod 770 katalog
12. Częste błędy bezpieczeństwa
chmod 777– niebezpieczne, umożliwia każdemu modyfikację- Brak sticky bit w
/tmp– umożliwia usuwanie cudzych plików - Nieustawiony SUID w
passwd– brak możliwości zmiany hasła
13. Automatyzacja i skrypty
Skrypty mogą masowo zmieniać prawa:
find /ścieżka -type f -exec chmod 644 {} \;
find /ścieżka -type d -exec chmod 755 {} \;
14. Zalecane ustawienia
- Pliki: 644 (rw-r–r–)
- Katalogi: 755 (rwxr-xr-x)
- Skrypty: 700 (tylko dla właściciela)
/tmp: 1777 (sticky bit)
15. Podsumowanie
Zrozumienie mechanizmu uprawnień w Linuxie pozwala nie tylko chronić dane przed nieautoryzowanym dostępem, ale również zapewnia prawidłowe działanie aplikacji i procesów. Znajomość chmod, chown, umask, specjalnych bitów oraz ACL to fundament bezpiecznego i efektywnego zarządzania systemem.






