Architektura i Uprawnienia

W Linuxie wszystko jest plikiem. Zrozumienie, gdzie te pliki leżą i kto ma do nich dostęp, to fundament administrowania systemem.

1. Struktura drzewa katalogów (FHS)

W Linuxie nie ma podziału na dyski C:, D:. Wszystko zaczyna się od katalogu głównego / (Root).

  • /bin oraz /usr/bin – Tu znajdują się programy wykonywalne (np. ls, cat).
  • /etc – Najważniejszy folder dla administratora. Tu leżą pliki konfiguracyjne całego systemu.
  • /home – Prywatne foldery użytkowników (Twoje dokumenty, pobrane, pulpit).
  • /var – Dane, które często się zmieniają, głównie logi systemowe (/var/log).
  • /root – Katalog domowy administratora (użytkownika root) – zwykły użytkownik nie ma tu wstępu.
  • /tmp – Pliki tymczasowe, które są usuwane przy restarcie.

2. Użytkownicy i grupy

Linux jest systemem wieloużytkownikowym. Każdy użytkownik ma swoje ID (UID) i przynależy do grup.

  • sudo useradd -m nazwa_uzytkownika – Tworzy nowego użytkownika z katalogiem domowym.
  • sudo passwd nazwa_uzytkownika – Nadaje lub zmienia hasło użytkownika.
  • whoami – Sprawdza, na jakim koncie obecnie pracujesz.
  • id – Wyświetla szczegółowe informacje o Twoim UID i grupach, do których należysz.

3. Uprawnienia plików (rwx) i polecenie sudo

Każdy plik w Linuxie ma przypisane uprawnienia dla trzech grup: Właściciela, Grupy i Reszty świata.

Typy uprawnień:

  • r (read) – odczyt (wartość 4)
  • w (write) – zapis (wartość 2)
  • x (execute) – wykonywanie (wartość 1)

Zarządzanie:

  • chmod 755 plik – Zmienia uprawnienia (np. 7 oznacza pełny dostęp: 4+2+1).
  • chown uzytkownik:grupa plik – Zmienia właściciela pliku.
  • SUDO (SuperUser DO): Pozwala zwykłemu użytkownikowi wykonać polecenie z uprawnieniami administratora. W Debianie użytkownik musi być w grupie sudo, aby z tego korzystać.

4. Wyszukiwanie plików i treści

Kiedy system ma tysiące plików, musisz umieć je szybko odnaleźć.

  • find [gdzie] -name [nazwa] – Przeszukuje system w czasie rzeczywistym.
    • Przykład: find /etc -name "*.conf" (znajdź wszystkie pliki konfiguracyjne w /etc).
  • locate [nazwa] – Bardzo szybkie wyszukiwanie oparte na bazie danych (wymaga wcześniejszego wykonania sudo updatedb).
  • GREP – Twój najlepszy przyjaciel: Służy do wyszukiwania tekstu wewnątrz plików.
    • Przykład: grep "error" /var/log/syslog (pokaż wszystkie linie z błędem w logach).
    • Pipe (|): Łączenie komend. ls /etc | grep "network" (pokaż pliki w /etc, które mają w nazwie "network").

Praktyka na maszynie wirtualnej:

  1. Spróbuj wejść do katalogu /root jako zwykły użytkownik (zobaczysz "Permission denied").
  2. Użyj sudo ls /root, aby zobaczyć zawartość jako administrator.
  3. Stwórz plik, sprawdź jego uprawnienia komendą ls -l i spróbuj je zmienić za pomocą chmod.