Phase III – Die Macht kontrollieren

Episode III – Die Rache der Prozesse · Wer Rechte falsch setzt, macht aus dem Tempel einen offenen Marktplatz


Macht ohne Kontrolle ist Chaos

Anakin Skywalker war mächtiger als jeder Jedi vor ihm. Und genau das wurde sein Verhängnis – denn er konnte seine Macht nicht kontrollieren. Er wusste nicht, wo sie aufzuhören hatte.

Phase III ist die Lektion, die Anakin nie gelernt hat: Kontrolle.

Du lernst, wer auf einem Linux-System was darf – und warum. Du lernst, welche Prozesse laufen, wie viel Ressourcen sie verbrauchen und wie du eingreifst, wenn etwas aus dem Ruder läuft. Und du lernst systemd: den ersten Prozess, der auf jedem RHEL-System startet und der alles andere kontrolliert.

Kein grafisches Task-Management. Kein Klicken auf „Dienst neu starten“.
Nur systemctl, journalctl und die Fähigkeit, Protokolle zu lesen.

„Einen Prozess beenden kannst du. Verstehen warum er läuft – das ist Weisheit.“

– Meister Yoda, über PID-Management, frei übersetzt

Was dich in Phase III erwartet

Modul Titel Was du lernst Schwierigkeit
5 Berechtigungen und Eigentümerschaft chmod, chown · rwx · Oktalwerte · SUID/Sticky ● ● ●
6 Prozesse und Systemüberwachung ps, top, kill · systemctl · journalctl · df, free ● ● ●

<note> Phase III ist die anspruchsvollste Phase des Grundkurses. Berechtigungen falsch zu setzen kann Dienste lahmlegen. Prozesse falsch zu beenden kann Datenverlust verursachen. Lies zuerst, handle dann. </note>


Die Lernziele des Padawan

Was du nach Phase III kannst – und erklären kannst:

  • Die Ausgabe von ls -l vollständig lesen: Dateityp, rwx-Bits, Eigentümer, Gruppe
  • Berechtigungen mit symbolischer Notation und Oktalwerten setzen
  • Den Unterschied zwischen Rechten auf Dateien und auf Verzeichnissen erklären
  • Eigentümer und Gruppe mit chown und chgrp korrekt ändern
  • SUID, SGID und Sticky Bit erklären und Beispiele nennen (passwd, /tmp)
  • Laufende Prozesse anzeigen, interpretieren und gezielt beenden
  • Den Unterschied zwischen SIGTERM (15) und SIGKILL (9) erklären
  • Systemdienste mit systemctl steuern und den Auto-Start konfigurieren
  • Systemprotokolle mit journalctl lesen und nach Fehlern filtern
  • CPU-, RAM- und Festplattenauslastung ablesen und beurteilen

Das Lichtschwert – deine Befehle in Phase III

Modul 5 – Berechtigungen lesen und setzen
ls -l datei.txt      # Berechtigungen anzeigen: -rw-r--r--
#  ^ ^^^  ^^^  ^^^
#  | Eigentümer  Gruppe  Andere
#  Dateityp (- = Datei, d = Verzeichnis, l = Symlink)
 
# chmod: Oktal (die schnelle Methode)
chmod 644 datei.txt  # rw-r--r--  → Konfig-Datei (alle lesen, nur owner schreibt)
chmod 755 skript.sh  # rwxr-xr-x  → ausführbares Programm
chmod 700 privat/    # rwx------  → nur für dich
chmod 640 dienst.conf # rw-r-----  → owner+gruppe lesen, rest nix
 
# chmod: symbolisch (die lesbare Methode)
chmod u+x skript.sh  # Eigentümer: Ausführrecht hinzufügen
chmod g-w datei.txt  # Gruppe: Schreibrecht entziehen
chmod o=  datei.txt  # Andere: alle Rechte entziehen
chmod -R 750 ordner/ # Rekursiv für ganzen Ordner
 
# Eigentümer ändern (sudo nötig)
sudo chown azubi01 datei.txt         # Nur Eigentümer
sudo chown azubi01:azubis datei.txt  # Eigentümer + Gruppe
sudo chown -R azubi01:azubis ordner/ # Rekursiv
 
# SELinux-Kontext prüfen (RHEL-spezifisch, aber wichtig)
ls -Z datei.txt      # Zeigt SELinux-Label
Modul 6 – Prozesse überwachen und steuern
ps aux               # Alle Prozesse aller Benutzer
ps aux | grep sshd   # Gezielt nach einem Prozess suchen
pgrep sshd           # Nur die PID(en) ausgeben
pstree               # Prozess-Baum (wer hat wen gestartet)
 
top                  # Live-Monitor (q = beenden, k = kill, M = nach RAM)
 
kill 1234            # Signal 15 (SIGTERM): freundlich beenden
kill -9 1234         # Signal 9 (SIGKILL): sofort abwürgen
killall firefox      # Alle Prozesse dieses Namens beenden
 
free -h              # RAM-Auslastung (human-readable)
df -h                # Festplatten-Auslastung je Dateisystem
du -sh /var/log/     # Größe eines Verzeichnisses
uptime               # Laufzeit + Load Average (1/5/15 Minuten)
Modul 6 – systemctl und journalctl
systemctl status sshd          # Status eines Dienstes
sudo systemctl start httpd     # Dienst starten
sudo systemctl stop httpd      # Dienst stoppen
sudo systemctl restart httpd   # Neu starten
sudo systemctl reload httpd    # Konfiguration neu laden (ohne Neustart)
sudo systemctl enable httpd    # Auto-Start beim Booten aktivieren
sudo systemctl disable httpd   # Auto-Start deaktivieren
sudo systemctl enable --now httpd  # Aktivieren + sofort starten
 
journalctl                     # Alle Protokolle
journalctl -b                  # Seit dem letzten Boot
journalctl -u sshd             # Nur Protokolle von sshd
journalctl -u httpd -f         # Live verfolgen (Ctrl+C stoppen)
journalctl -p err              # Nur Fehler
journalctl -n 50               # Letzte 50 Zeilen
journalctl --since "1 hour ago"  # Letzte Stunde

Das Oktal-System – die Zahlen hinter chmod

Wer die Zahlen versteht, muss nicht mehr raten. Jede Zahl ist eine Summe aus drei Bits:

Zahl Binär rwx Bedeutung Typische Nutzung
7 111 rwx Alles Eigentümer bei Verzeichnissen
6 110 rw- Lesen + Schreiben Eigentümer bei Dateien
5 101 r-x Lesen + Ausführen Gruppe bei Verzeichnissen
4 100 r– Nur Lesen Gruppe/Andere bei Dateien
0 000 Kein Zugriff Andere bei privaten Dateien

Fertige Rezepte – diese vier musst du auswendig kennen:

chmod Bedeutung Wann verwenden
644 -rw-r–r– Konfig-Datei: alle lesen, nur Owner schreibt
755 -rwxr-xr-x Programm oder öffentliches Verzeichnis
700 -rwx—— Private Datei oder persönliches Verzeichnis
640 -rw-r—– Dienst-Konfig: Owner schreibt, Gruppe liest, Rest nix

<note warning> SUID auf falschen Dateien ist eine offene Tür zur dunklen Seite. Wenn eine ausführbare Datei das SUID-Bit trägt, läuft sie mit den Rechten ihres Eigentümers – nicht des aufrufenden Benutzers. Das ist bei /usr/bin/passwd gewollt. Bei selbst geschriebenen Skripten ist es eine Sicherheitslücke. </note>


Das Holocron zu dieser Phase

Aufgabenblatt, Theorie und Musterlösungen – als LaTeX oder PDF

Das vollständige Dokument zu Phase III enthält alle Erklärungen, Aufgaben und Musterlösungen.

Overleaf (Quelldatei + Live-Vorschau):
→ Overleaf: Linux Padawan Workshop


Dein Auftrag, solltest du ihn annehmen

Mission Briefing – Phase III

Du richtest in dieser Phase ein gemeinsames Verzeichnis für eine Gruppe ein, überwachst laufende Prozesse und steuerst einen Systemdienst. Am Ende simulierst du einen Dienstausfall und findest den Fehler im Journal.

Die drei Gesetze dieser Phase:

  1. Setze nie mehr Rechte als nötig – das nennt man Principle of Least Privilege
  2. Verwende kill -9 nur als letztes Mittel – erst kill ohne Signal versuchen
  3. Lies das Journal bevor du einen Dienst neu startest – der Fehler steht dort

Wer glaubt, er braucht chmod 777, hat Phase III nicht verstanden.
Wer glaubt, er braucht setenforce 0, kommt aus dem Kurs.


← Phase II – Das Handwerk des Jedi
↑ Übersicht – Der Weg zur Macht
→ Phase IV – Paketverwaltung und Netzwerk


„Die Macht zu haben bedeutet nicht, sie zu benutzen.
Einen Dienst nicht zu starten ist manchmal klüger als ihn zu starten.“

[azubi01@rhel9-kurs ~]$ _