suche
ESC

Linux-Server-Basics

Shell, systemd-Dienste, Logs und Dateirechte sicher bedienen.

Second-Level HomeLab 30 Min +180 XP

Worum geht’s

Ein Linux-Server ohne GUI ist im Second-Level Alltag. Du startest und stoppst Dienste, liest ihre Logs, korrigierst Dateirechte und arbeitest dich über die Shell zur Ursache eines Problems vor. Wer systemctl, journalctl und das Rechtemodell beherrscht, diagnostiziert Dienstausfälle in Minuten statt Stunden.

Konzept

Drei Bausteine tragen die tägliche Server-Arbeit:

  • Shell & Navigation: cd, ls -la, cat, grep, Pipes (|) und Umleitungen (>, >>). Über grep -i error /var/log/syslog filterst du Logzeilen, mit tail -f folgst du einer Datei live.
  • systemd-Dienste: jeder Dienst ist eine Unit. systemctl status nginx zeigt Zustand, PID und die letzten Logzeilen; start/stop/restart steuern ihn, enable aktiviert den Autostart beim Booten. Logs einer Unit liest journalctl -u nginx.
  • Dateirechte: jede Datei hat Besitzer / Gruppe / Andere mit den Rechten r(4) w(2) x(1). chmod 640 datei = rw- Besitzer, r-- Gruppe, --- Andere. chown user:group datei ändert den Besitzer. Ein Dienst, der seine Konfig nicht lesen darf, startet nicht — Rechte sind eine häufige Fehlerquelle.

Die oktale Rechte-Schreibweise addiert pro Stelle: 7 = rwx, 5 = r-x, 4 = r--, 0 = ---.

Beispiel-Fall

Gegeben: nginx läuft nicht mehr, nach systemctl restart nginx kommt ein Fehler. Finde die Ursache.

  1. systemctl status nginx → Zustand failed, Hinweis „see journalctl”.
  2. journalctl -u nginx -n 20 → Zeile open() "/etc/nginx/sites/app.conf" failed (13: Permission denied). Fehlercode 13 = EACCES → Rechteproblem.
  3. ls -l /etc/nginx/sites/app.conf → -rw------- root root. nginx läuft als User www-data und darf die Datei nicht lesen.
  4. chmod 644 /etc/nginx/sites/app.conf → jetzt darf „Andere” lesen (r--).
  5. systemctl restart nginx → active (running). nginx -t bestätigt die gültige Konfiguration.

Merke die Kette: Status → Log → Fehlercode → Rechte/Pfad prüfen → korrigieren → verifizieren. Sie trägt bei fast jedem Dienstausfall.

Anwenden

Übe die Schritte auf deinem eigenen Homeserver. Der Blog-Beitrag „Home-Server-Setup 2025” richtet eine passende Umgebung mit Docker und systemd-Diensten ein, an der du systemctl und journalctl gefahrlos testen kannst — am besten in einer VM oder einem Wegwerf-Container.

Selbsttest

Praxis-Challenge

⚑ Praxis-Challenge

Lege auf einem Test-Linux eine Datei /srv/test.conf an, setze sie mit chmod 600 und Besitzer root. Starte einen Dienst (oder Container), der sie als anderer User lesen soll — beobachte den Fehler im Journal. Korrigiere die Rechte mit chmod 644, starte neu und belege über journalctl, dass der Fehler verschwunden ist. Notiere den Fehlercode aus der ersten Logzeile.

Reflexion: Was war neu? Wo bist du noch unsicher?

Modul im Speedrun testen →