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

    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.

    Polecane wpisy
    Jak poprawić bezpieczeństwo SSH na Ubuntu
    Jak poprawić bezpieczeństwo SSH na Ubuntu

    Jak poprawić bezpieczeństwo SSH na Ubuntu – Kompletny przewodnik Bezpieczeństwo systemów operacyjnych opartych na Linuksie, takich jak Ubuntu, jest jednym Czytaj dalej

    Linux podstawy
    podstawy linux

    Sponsor artykułu: Biuro rachunkowe lublin Linux to jedno z najpopularniejszych systemów operacyjnych na świecie, cieszące się uznaniem zarówno wśród zaawansowanych 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.