0Pricing
Cyber Security Academy · Lekcja

Uprawnienia i własność plików

Opanować chmod, chown, sticky bit, SUID/SGID oraz rozumieć, jak uprawnienia zapobiegają nieautoryzowanemu dostępowi

Uprawnienia i własność plików to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Dlaczego uprawnienia mają znaczenie

Uprawnienia do plików określają, kto może odczytywać, zapisywać lub uruchamiać plik. Nieprawidłowo skonfigurowane uprawnienia są jedną z najczęstszych przyczyn eskalacji uprawnień i wycieków danych.

Wyjaśnienie ciągu uprawnień

Po uruchomieniu ls -la przy każdym pliku wyświetlany jest 10-znakowy ciąg uprawnień, na przykład -rwxr-xr--. Należy podzielić go na: typ pliku, uprawnienia właściciela, uprawnienia grupy i uprawnienia pozostałych użytkowników.

$ ls -la /etc/passwd
-rw-r--r-- 1 root root 2847 Jan 10 10:00 /etc/passwd
# -  = regular file
# rw- = owner (root) can read+write
# r-- = group can read only
# r-- = others can read only

Uprawnienia liczbowe (ósemkowe)

Uprawnienia można również zapisywać jako liczby ósemkowe: odczyt=4, zapis=2, wykonanie=1. Należy dodać je dla każdej kategorii.

# rwxr-xr-- = 754
# rw-rw-r-- = 664 (world-readable, group-writable)
# rwx------ = 700 (private executable)

Zmiana uprawnień: chmod

Polecenie chmod służy do modyfikowania uprawnień. Można używać trybu symbolicznego (u+x) albo ósemkowego (755).

$ chmod 755 script.sh      # rwxr-xr-x
$ chmod u+x script.sh      # add execute for owner
$ chmod o-r secret.txt     # remove read for others
$ chmod 600 id_rsa         # SSH key: owner read/write only

Zmiana właściciela: chown

Polecenie chown zmienia właściciela i/lub grupę pliku. Tylko root może zmienić właściciela na innego użytkownika.

$ chown user:group file.txt
$ chown root:root /etc/shadow
$ chown -R www-data:www-data /var/www/html/

Uprawnienia specjalne: SUID, SGID, sticky bit

SUID (Set User ID) sprawia, że plik jest uruchamiany z uprawnieniami właściciela. SGID ustawiony na katalogach powoduje, że nowe pliki dziedziczą grupę. Sticky bit uniemożliwia usuwanie plików osobom, które nie są ich właścicielami.

$ ls -la /usr/bin/passwd
-rwsr-xr-x 1 root root 68208 /usr/bin/passwd
# The "s" in owner execute position = SUID
# This runs as root regardless of who calls it

Znajdowanie plików binarnych SUID (Privesc)

Atakujący wyszukują pliki binarne SUID w celu eskalacji uprawnień. Dowolny plik binarny SUID z wykorzystaniem znanego exploita lub niewłaściwym zastosowaniem może zapewnić dostęp root.

$ find / -perm -4000 -type f 2>/dev/null
/usr/bin/passwd
/usr/bin/sudo
/usr/bin/pkexec
/bin/mount

Plik /etc/shadow

/etc/shadow przechowuje hasła w postaci skrótów i jest dostępny do odczytu wyłącznie dla użytkownika root. Jeśli można go odczytać, można podjąć próbę łamania skrótów offline za pomocą hashcat lub john.

$ ls -la /etc/shadow
-rw-r----- 1 root shadow 1423 Jan 10 /etc/shadow
# Only root and the shadow group can read this

umask: domyślna maska uprawnień

Wartość umask jest odejmowana od 666 (dla plików) lub 777 (dla katalogów), aby ustawić domyślne uprawnienia nowych plików. Wartość umask 022 oznacza, że nowe pliki będą miały uprawnienia 644.

$ umask
0022
$ touch newfile
$ ls -la newfile
-rw-r--r-- 1 user user 0 newfile  # 666 - 022 = 644

Listy kontroli dostępu (ACL)

ACL rozszerzają tradycyjny model uprawnień systemu Unix, umożliwiając nadawanie poszczególnym użytkownikom uprawnień wykraczających poza trójkę właściciel/grupa/pozostali. Należy używać poleceń getfacl i setfacl.

$ getfacl /var/www/html/
# file: var/www/html/
# owner: root
# group: www-data
user::rwx
group::r-x
other::r-x

Niezmienne pliki: chattr

Polecenie chattr +i sprawia, że plik staje się niezmienny — nawet root nie może go modyfikować ani usuwać. Rootkity wykorzystują tę funkcję do ochrony swoich plików. Stan można sprawdzić za pomocą lsattr.

$ chattr +i /etc/passwd   # make immutable
$ lsattr /etc/passwd
----i--------e-- /etc/passwd
$ chattr -i /etc/passwd   # remove immutability

Szybki test

Co umożliwia uprawnienie SUID?

Podsumowanie: uprawnienia do plików

Należy dobrze opanować polecenia chmod i chown oraz rozumieć działanie SUID. W CTF-ach i rzeczywistych testach penetracyjnych nieprawidłowo skonfigurowane uprawnienia SUID należą do najczęstszych dróg uzyskania uprawnień root. Zawsze należy sprawdzać uprawnienia wrażliwych plików.

Często zadawane pytania

Czy lekcja „Uprawnienia i własność plików” jest bezpłatna?

Tak — pełny tekst „Uprawnienia i własność plików” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Uprawnienia i własność plików”?

Opanować chmod, chown, sticky bit, SUID/SGID oraz rozumieć, jak uprawnienia zapobiegają nieautoryzowanemu dostępowi Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?

Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Uprawnienia i własność plików”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?

Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Uprawnienia i własność plików
  2. Zarządzanie użytkownikami i grupami
  3. Wzmacnianie SSH i uwierzytelnianie za pomocą kluczy
  4. Reguły zapory iptables i UFW
← Powrót do Cyber Security Academy