Wyjaśnij uprawnienia plików w Linuxie — kompletny przewodnik
Linux

Wyjaśnij uprawnienia plików w Linuxie — kompletny przewodnik

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.

Wyjaśnij uprawnienia plików w Linuxie — kompletny przewodnik
Wyjaśnij uprawnienia plików w Linuxie — kompletny przewodnik

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, d katalog)
  • 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ściciel
  • 5 (r-x) – grupa
  • 5 (r-x) – inni
Czytaj  System plików (Ext4, Btrfs, ZFS): Nieznane luki i ich wpływ na integralność danych

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 777niebezpieczne, 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.

Czytaj  Jak zoptymalizować wydajność Linuxa? Kompletny przewodnik
Polecane wpisy
Największe dziury w Linux
Największe dziury w Linux

Oto kilka znanych podatności w systemie Linux: Największe dziury w Linux Shellshock (CVE-2014-6271): To była podatność, Czytaj dalej

Uprawnienia, ACL i atrybuty plików w Linuxie – jak naprawdę działa bezpieczeństwo plików
Uprawnienia, ACL i atrybuty plików w Linuxie – jak naprawdę działa bezpieczeństwo plików

      Uprawnienia, ACL i atrybuty plików w Linuxie – jak naprawdę działa bezpieczeństwo plików Bezpieczeństwo plików w Linuxie Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.