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 -lvollstä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
chownundchgrpkorrekt ä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
systemctlsteuern und den Auto-Start konfigurieren - Systemprotokolle mit
journalctllesen 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:
- Setze nie mehr Rechte als nötig – das nennt man Principle of Least Privilege
- Verwende
kill -9nur als letztes Mittel – erstkillohne Signal versuchen - 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.
Navigation
← 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 ~]$ _
