Podstawy Linux #7: Zarządzanie systemem

Ta lekcja obejmuje codzienne zadania administratora serwera: zarządzanie użytkownikami, uprawnieniami, procesami, pakietami i monitorowanie zasobów.
Użytkownicy i grupy
Tworzenie i zarządzanie użytkownikami
sudo adduser roman # tworzy użytkownika (interaktywnie, pyta o hasło)
sudo useradd -m jan # tworzy użytkownika (bez interakcji, -m tworzy katalog domowy)
sudo passwd roman # zmienia/ustawia hasło
sudo userdel roman # usuwa użytkownika
sudo userdel -r roman # usuwa użytkownika + jego katalog domowy
Grupy
sudo usermod -aG sudo roman # dodaj do grupy sudo (uprawnienia admina)
sudo usermod -aG docker roman # dodaj do grupy docker
groups roman # pokaż grupy użytkownika
id roman # szczegóły: UID, GID, grupy
💡 Podpowiedź
Flaga -aG oznacza “append to Group” — dodaje do grupy bez usuwania z innych. Bez -a nadpisałbyś wszystkie grupy!
Uprawnienia
chmod — zmiana uprawnień
chmod 755 skrypt.sh # właściciel: rwx, grupa: r-x, inni: r-x
chmod 644 config.yml # właściciel: rw-, grupa: r--, inni: r--
chmod +x skrypt.sh # dodaj prawo wykonywania
chmod -w plik.txt # zabierz prawo zapisu
Numerycznie: r=4, w=2, x=1. Sumuj dla właściciel/grupa/inni.
| Wartość | Uprawnienia | Znaczenie |
|---|---|---|
| 7 | rwx | odczyt + zapis + wykonywanie |
| 6 | rw- | odczyt + zapis |
| 5 | r-x | odczyt + wykonywanie |
| 4 | r– | tylko odczyt |
chown — zmiana właściciela
sudo chown roman:roman plik.txt # zmień właściciela i grupę
sudo chown -R roman:roman /opt/app/ # rekurencyjnie cały katalog
sudo — wykonaj jako administrator
sudo apt update # jednorazowe polecenie jako root
sudo -s # otwórz shell jako root
sudo su - roman # przełącz się na innego użytkownika
⚠️ Uwaga
Unikaj pracy jako root na co dzień. Używaj sudo do pojedynczych komend — to bezpieczniejsze.
Procesy
Wyświetlanie procesów
ps aux # wszystkie procesy
ps aux | grep nginx # znajdź procesy Nginx
top # monitor w czasie rzeczywistym (q = wyjście)
htop # ładniejszy monitor (trzeba zainstalować)
Zarządzanie procesami
kill 1234 # zakończ proces o PID 1234
kill -9 1234 # wymuś zakończenie (gdy zwykły kill nie działa)
killall nginx # zakończ wszystkie procesy "nginx"
📋 Scenariusz: Kto zajmuje port 80?
sudo ss -tlnp | grep :80
Wynik np.: LISTEN 0 511 *:80 ... users:(("nginx",pid=1234,...)) — to Nginx na PID 1234.
Monitorowanie zasobów
Pamięć RAM
free -h
Wynik:
total used free shared buff/cache available
Mem: 3.8Gi 1.2Gi 512Mi 45Mi 2.1Gi 2.3Gi
💡 Podpowiedź
Kolumna available to ile pamięci faktycznie możesz użyć (free + buff/cache do zwolnienia).
Dysk
df -h # wykorzystanie partycji
du -sh /var/log # rozmiar konkretnego katalogu
du -sh /var/log/* # rozmiar każdego elementu w katalogu
📋 Scenariusz: Dysk pełny — co zajmuje miejsce?
du -sh /var/log/* | sort -rh | head -10
Top 10 największych plików/katalogów w /var/log.
Zarządzanie pakietami (Debian/Ubuntu)
Podstawowe operacje
sudo apt update # odśwież listę pakietów
sudo apt upgrade # zaktualizuj zainstalowane pakiety
sudo apt install htop # zainstaluj pakiet
sudo apt remove htop # odinstaluj (zostawia konfigurację)
sudo apt purge htop # odinstaluj + usuń konfigurację
sudo apt autoremove # usuń nieużywane zależności
💡 Podpowiedź
Zawsze rób apt update przed apt install — inaczej możesz instalować nieaktualną wersję.
Sprawdzanie pakietów
apt list --installed # lista zainstalowanych
apt search nginx # szukaj pakietu
apt show nginx # szczegóły pakietu
dpkg -l | grep nginx # czy pakiet jest zainstalowany
Zmienne środowiskowe
echo $PATH # ścieżki do programów
echo $HOME # katalog domowy
echo $USER # bieżący użytkownik
printenv # wszystkie zmienne
export MY_VAR="wartość" # ustaw zmienną (do końca sesji)
Żeby zmienna przetrwała restart, dodaj ją do ~/.bashrc:
echo 'export MY_VAR="wartość"' >> ~/.bashrc
source ~/.bashrc # załaduj bez restartu
Restart i wyłączanie
sudo reboot # restart serwera
sudo shutdown -h now # wyłączenie natychmiast
sudo shutdown -r +5 # restart za 5 minut
Historia komend
history # pokaż historię
history | grep apt # szukaj w historii
!123 # uruchom ponownie komendę nr 123
!! # uruchom ponownie ostatnią komendę
sudo !! # uruchom ostatnią komendę z sudo
Podsumowanie
| Komenda | Co robi |
|---|---|
adduser / useradd |
Tworzenie użytkownika |
usermod -aG |
Dodanie do grupy |
chmod / chown |
Uprawnienia / właściciel |
sudo |
Wykonaj jako admin |
ps aux / top |
Procesy |
kill |
Zakończ proces |
free -h / df -h |
RAM / dysk |
apt update/install |
Zarządzanie pakietami |
history |
Historia komend |






