🔐 1. Das Unix-Rechtemodell (Oktal & Symbolisch)
Unix unterscheidet drei Rollen (Owner, Group, Others) mit drei Grundrechten (Read=4, Write=2, Execute=1):
# 🎯 Oktale Rechtezuweisung:
chmod 755 deploy.sh # rwxr-xr-x: Jeder darf ausführen, nur Owner darf schreiben
chmod 644 config.yaml # rw-r--r--: Standard für Webserver-Assets
chmod 600 id_ed25519 # rw-------: Streng geheim (SSH Private Key)
# 🎯 Symbolische Anpassung:
chmod u+x script.sh # Fügt Execute-Recht für den User hinzu
chmod g-w shared.doc # Entzieht Schreibrecht für die Gruppe
⚡ 2. Prozess-Signale & Asynchrone Job Control
Im Serverbetrieb laufen Hintergrunddienste asynchron. Über Signale kommuniziert der Administrator direkt mit dem Kernel:
# 🎯 1. Job im Hintergrund starten (&):
./data_importer.sh > import.log 2>&1 &
PID=$! # Fängt die Prozess-ID des Hintergrundjobs ab
# 🎯 2. Prozess-Existenz ohne Unterbrechung prüfen:
if kill -0 "$PID" 2>/dev/null; then
echo "Prozess läuft noch..."
fi
# 🎯 3. Graceful Shutdown mit Fallback:
kill -15 "$PID" # SIGTERM: Sauberes Beenden anfordern
sleep 1
if kill -0 "$PID" 2>/dev/null; then
kill -9 "$PID" # SIGKILL: Notaus-Schalter (kann nicht ignoriert werden)
fi
Dateirechte (chmod 600): Das ist dein persönliches Bankschließfach. Nur du hast den Schlüssel (6=Read/Write), niemand sonst darf auch nur hineinsehen (0=No Access).
SIGTERM vs. SIGKILL: kill -15 ist das Klopfen an der Tür mit der Bitte, das Gebäude geordnet zu verlassen. kill -9 ist die Feuerwehr, die sofort die Sicherungen herausdreht und das Wasser abstellt!
📑 3. Cheat-Sheet: Rechte & Signale
| Befehl | Syntax / Signal | Beschreibung |
|---|---|---|
chmod 600 |
rw------- |
Schutz für Private Keys & Secrets |
chmod 755 |
rwxr-xr-x |
Standard für ausführbare Skripte |
& |
cmd & |
Startet Befehl asynchron im Hintergrund |
$! |
PID=$! |
PID des zuletzt im Hintergrund gestarteten Prozesses |
kill -0 |
kill -0 $PID |
Testet Prozess-Existenz (kein Abbruch) |
SIGTERM (15) |
kill -15 $PID |
Geordnetes Beenden mit Ressourcen-Cleanup |
SIGKILL (9) |
kill -9 $PID |
Sofortiger harter Kernel-Abbruch |
🎯 Aufgaben & Checkliste in aufgabe.sh
OpenSSH verweigert strikt die Verbindung, wenn deine Private Keys nicht auf chmod 600 stehen ("UNPROTECTED PRIVATE KEY FILE!"). Automatisiere diese Prüfung in deinen CI/CD-Pipelines!