Systemd Lernpfad: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Bausteine Mounts und Netzwerk verlinkt) |
(Alle Bausteine verlinkt, Bilder, ältere Seiten) |
||
| Zeile 3: | Zeile 3: | ||
*systemd startet, überwacht und beendet alle Dienste eines Linux-Systems. | *systemd startet, überwacht und beendet alle Dienste eines Linux-Systems. | ||
*Der Lernpfad führt in drei Stufen vom Benutzen über das Schreiben eigener Units bis zur Härtung und zur Suche nach Angreifern. | *Der Lernpfad führt in drei Stufen vom Benutzen über das Schreiben eigener Units bis zur Härtung und zur Suche nach Angreifern. | ||
| − | *Jede | + | *Jede Seite hat dasselbe Gerüst: Einfach erklärt, das Wichtigste, Befehle, Stolperfallen, Aufgaben. |
| + | *Alle Beispiele sind auf Debian 13 mit systemd 257 geprüft. | ||
{| class="wikitable" | {| class="wikitable" | ||
| Zeile 12: | Zeile 13: | ||
| '''[[Systemd Stufe 2 Fortgeschritten|Stufe 2 · Fortgeschritten]]''' || Ich schreibe Units || Aufbau einer Unit, Pfade und Drop-ins, Wants und After, Type= und Restart=, Timer || [https://labs.xinux.net/systemd-start.html#3-1 Was gegen Wann] | | '''[[Systemd Stufe 2 Fortgeschritten|Stufe 2 · Fortgeschritten]]''' || Ich schreibe Units || Aufbau einer Unit, Pfade und Drop-ins, Wants und After, Type= und Restart=, Timer || [https://labs.xinux.net/systemd-start.html#3-1 Was gegen Wann] | ||
|- | |- | ||
| − | | '''[[Systemd Stufe 3 Security|Stufe 3 · Security]]''' || Ich härte und untersuche || systemd-analyze security, Dienste Schritt für Schritt härten, Persistenz erkennen || – | + | | '''[[Systemd Stufe 3 Security|Stufe 3 · Security]]''' || Ich härte und untersuche || systemd-analyze security, Dienste Schritt für Schritt härten, systemd-run, Persistenz erkennen || – |
|} | |} | ||
==Vorwissen== | ==Vorwissen== | ||
*[https://labs.xinux.net/kernel-initialisierung.html Kernel-Initialisierung]: wie es bis zu systemd als Prozess 1 kommt | *[https://labs.xinux.net/kernel-initialisierung.html Kernel-Initialisierung]: wie es bis zu systemd als Prozess 1 kommt | ||
| + | *[https://labs.xinux.net/kernel-module.html Kernel und Module] | ||
=Themen-Bausteine= | =Themen-Bausteine= | ||
*Die Bausteine ergänzen den Lernpfad. In der Spalte steht, ab welcher Stufe man sie versteht. | *Die Bausteine ergänzen den Lernpfad. In der Spalte steht, ab welcher Stufe man sie versteht. | ||
{| class="wikitable" | {| class="wikitable" | ||
| − | ! Baustein !! ab Stufe !! | + | ! Baustein !! ab Stufe !! Inhalt |
|- | |- | ||
| − | | '''Journal und Logging''' || | + | | '''[[Systemd Baustein Journal|Journal und Logging]]''' || 1–3 || lesen, filtern nach Feldern, Größe, FSS-Versiegelung, Logs wegschicken ins SIEM |
|- | |- | ||
| − | | ''' | + | | '''[[Systemd Baustein Fehlersuche|Fehlersuche und Analyse]]''' || 1–3 || Fehlercodes in status, verify, blame und critical-chain, Rettungswege, coredumpctl |
|- | |- | ||
| − | | '''[[Systemd Baustein | + | | '''[[Systemd Baustein Zeit und Sitzungen|Zeit und Sitzungen]]''' || 1 || timedatectl, timesyncd mit eigenem NTP-Server, loginctl, Linger |
|- | |- | ||
| − | | '''[[Systemd Baustein | + | | '''[[Systemd Baustein Timer|Timer]]''' || 2 || OnCalendar und Abstände, Persistent, systemd-run, cron und Timer im Vergleich |
|- | |- | ||
| − | | ''' | + | | '''[[Systemd Baustein Mounts|Mounts]]''' || 2 || fstab und Mount-Units, nofail und Automount, eigene .mount, RequiresMountsFor |
|- | |- | ||
| − | | ''' | + | | '''[[Systemd Baustein Netzwerk|Netzwerk]]''' || 2 || systemd-networkd, feste IP und DHCP, networkctl, resolved, Karte umbenennen, Bridge |
|- | |- | ||
| − | | ''' | + | | '''[[Systemd Baustein Sockets|Socket-Aktivierung]]''' || 2 || Dienste erst bei Bedarf starten, Echo-Server, Accept=yes und no |
|- | |- | ||
| − | | ''' | + | | '''[[Systemd Baustein Ressourcen|Ressourcen und cgroups]]''' || 2 || Slices, systemd-cgls und cgtop, MemoryMax, CPUQuota, set-property |
| + | |- | ||
| + | | '''[[Systemd Baustein Systemdateien|tmpfiles, sysctl, Module]]''' || 2 || tmpfiles.d, sysctl.d, modules-load.d und weitere *.d-Verzeichnisse | ||
| + | |- | ||
| + | | '''[[Systemd Baustein Container|Container]]''' || 2–3 || systemd-nspawn, machinectl, .nspawn-Dateien, Portable Services | ||
| + | |} | ||
| + | |||
| + | =Bilder= | ||
| + | *Alle Bilder sind drawio-Bilder und lassen sich im Wiki direkt bearbeiten. | ||
| + | {| class="wikitable" | ||
| + | ! Bild !! verwendet in | ||
| + | |- | ||
| + | | systemd-targets || [[Systemd Stufe 1 Basic]] | ||
| + | |- | ||
| + | | systemd-unit-pfade || [[Systemd Stufe 2 Fortgeschritten]] | ||
| + | |- | ||
| + | | systemd-wants-after || [[Systemd Stufe 2 Fortgeschritten]] | ||
| + | |- | ||
| + | | systemd-security-score || [[Systemd Stufe 3 Security]] | ||
|} | |} | ||
| Zeile 44: | Zeile 64: | ||
*[[Systemctl kurz und knapp]]: Crashkurs auf einer Seite | *[[Systemctl kurz und knapp]]: Crashkurs auf einer Seite | ||
*[[Systemd Service examples]]: fertige Service-Beispiele | *[[Systemd Service examples]]: fertige Service-Beispiele | ||
| + | *[[Systemd Hardening Workshop]]: die Härtung Schritt für Schritt mit sed | ||
| + | |||
| + | ==Ältere Einzelseiten== | ||
| + | *Journal: [[Systemd journald]] · [[Systemd-journalctl-beschreibung]] · [[Journald Remote Logging]] | ||
| + | *Timer: [[Systemd Service timers]] · [[Systemd-time-beschreibung]] · [[Systemd Certbot Apache Timer]] | ||
| + | *Mounts und Netzwerk: [[Systemd mounts]] · [[Systemd-networkd]] · [[Systemd link]] · [[Systemd Isolieren von Diensten vom Netzwerk]] | ||
| + | *Ressourcen: [[Systemd.slice]] · [[Systemd.resource-control]] · [[Systemd cgroups Eigener Slice]] · [[Systemd cgroups Nutzen von systemctl set-property]] · [[Systemd cgroups Servicedateien bearbeiten]] · [[Systemd cgroups Verwendung von Drop-in-Dateien]] | ||
| + | *Container: [[Systemd-nspawnd]] · [[Systemd-nspawnd-beschreibung]] · [[Systemd-portabled]] | ||
| + | *Zeit und Benutzer: [[Systemd timedatectl]] · [[Systemd NTP]] · [[Loginctl]] · [[Systemd-homed-beschreibung]] | ||
| + | *Analyse: [[Systemd-analyze-beschreibung]] | ||
=Links= | =Links= | ||
Version vom 17. Oktober 2026, 15:47 Uhr
Lernpfad systemd
- systemd startet, überwacht und beendet alle Dienste eines Linux-Systems.
- Der Lernpfad führt in drei Stufen vom Benutzen über das Schreiben eigener Units bis zur Härtung und zur Suche nach Angreifern.
- Jede Seite hat dasselbe Gerüst: Einfach erklärt, das Wichtigste, Befehle, Stolperfallen, Aufgaben.
- Alle Beispiele sind auf Debian 13 mit systemd 257 geprüft.
| Stufe | Ziel | Inhalte | Animation |
|---|---|---|---|
| Stufe 1 · Basic | Ich verwende es | Dienste bedienen, Status lesen, Logs mit journalctl, Targets und Runlevel | Targets und Reihenfolge |
| Stufe 2 · Fortgeschritten | Ich schreibe Units | Aufbau einer Unit, Pfade und Drop-ins, Wants und After, Type= und Restart=, Timer | Was gegen Wann |
| Stufe 3 · Security | Ich härte und untersuche | systemd-analyze security, Dienste Schritt für Schritt härten, systemd-run, Persistenz erkennen | – |
Vorwissen
- Kernel-Initialisierung: wie es bis zu systemd als Prozess 1 kommt
- Kernel und Module
Themen-Bausteine
- Die Bausteine ergänzen den Lernpfad. In der Spalte steht, ab welcher Stufe man sie versteht.
| Baustein | ab Stufe | Inhalt |
|---|---|---|
| Journal und Logging | 1–3 | lesen, filtern nach Feldern, Größe, FSS-Versiegelung, Logs wegschicken ins SIEM |
| Fehlersuche und Analyse | 1–3 | Fehlercodes in status, verify, blame und critical-chain, Rettungswege, coredumpctl |
| Zeit und Sitzungen | 1 | timedatectl, timesyncd mit eigenem NTP-Server, loginctl, Linger |
| Timer | 2 | OnCalendar und Abstände, Persistent, systemd-run, cron und Timer im Vergleich |
| Mounts | 2 | fstab und Mount-Units, nofail und Automount, eigene .mount, RequiresMountsFor |
| Netzwerk | 2 | systemd-networkd, feste IP und DHCP, networkctl, resolved, Karte umbenennen, Bridge |
| Socket-Aktivierung | 2 | Dienste erst bei Bedarf starten, Echo-Server, Accept=yes und no |
| Ressourcen und cgroups | 2 | Slices, systemd-cgls und cgtop, MemoryMax, CPUQuota, set-property |
| tmpfiles, sysctl, Module | 2 | tmpfiles.d, sysctl.d, modules-load.d und weitere *.d-Verzeichnisse |
| Container | 2–3 | systemd-nspawn, machinectl, .nspawn-Dateien, Portable Services |
Bilder
- Alle Bilder sind drawio-Bilder und lassen sich im Wiki direkt bearbeiten.
| Bild | verwendet in |
|---|---|
| systemd-targets | Systemd Stufe 1 Basic |
| systemd-unit-pfade | Systemd Stufe 2 Fortgeschritten |
| systemd-wants-after | Systemd Stufe 2 Fortgeschritten |
| systemd-security-score | Systemd Stufe 3 Security |
Nachschlagen
- Systemd systemctl: alle systemctl-Befehle
- Systemctl kurz und knapp: Crashkurs auf einer Seite
- Systemd Service examples: fertige Service-Beispiele
- Systemd Hardening Workshop: die Härtung Schritt für Schritt mit sed
Ältere Einzelseiten
- Journal: Systemd journald · Systemd-journalctl-beschreibung · Journald Remote Logging
- Timer: Systemd Service timers · Systemd-time-beschreibung · Systemd Certbot Apache Timer
- Mounts und Netzwerk: Systemd mounts · Systemd-networkd · Systemd link · Systemd Isolieren von Diensten vom Netzwerk
- Ressourcen: Systemd.slice · Systemd.resource-control · Systemd cgroups Eigener Slice · Systemd cgroups Nutzen von systemctl set-property · Systemd cgroups Servicedateien bearbeiten · Systemd cgroups Verwendung von Drop-in-Dateien
- Container: Systemd-nspawnd · Systemd-nspawnd-beschreibung · Systemd-portabled
- Zeit und Benutzer: Systemd timedatectl · Systemd NTP · Loginctl · Systemd-homed-beschreibung
- Analyse: Systemd-analyze-beschreibung