Thema: linux
-
Systemaufrufe mit strace -c nach Zeit zusammenfassen, Overhead und perf trace als Alternative
strace -c zählt Zeit, Aufrufe und Fehler pro Systemaufruf, statt jeden Aufruf auszugeben. Laut dem strace-Manual läuft ein getraceter Prozess jedoch langsamer als ein nicht getraceter; perf trace, beschrieben als von strace inspiriertes Werkzeug auf Basis von perf_events statt ptrace, ist die unkompliziertere Alternative, wenn dieser Overhead ins Gewicht fällt.
-
Linux-Kernel: jede KEV-Schwachstelle anhand des Distributionspakets und des laufenden Kernels überprüfen
Fünf ausgenutzte Kernel-Schwachstellen getrennt nachverfolgen. Distributionsspezifische Paketkorrekturen verwenden und entweder den gestarteten Kernel oder die ausdrückliche Livepatch-Abdeckung bestätigen; eine Schutzmassnahme für ein Subsystem behebt nicht die übrigen Schwachstellen.
-
Prüfen, ob ein Linux-Host nach Updates einen Neustart oder einen Dienstneustart benötigt
Debian und Ubuntu kennzeichnen einen ausstehenden Neustart mit der einfachen Datei /var/run/reboot-required. Bei Systemen der RHEL-Familie muss dagegen der laufende Kernel mit dem neuesten installierten verglichen oder eine Prüfung im Stil von needs-restarting ausgeführt werden; keine der beiden Familien weist auf der Shell automatisch darauf hin.
-
Kerberos-Client-Grundlagen unter Linux: krb5.conf, kinit/klist/kdestroy und Keytabs
Ein Linux-Host nutzt Kerberos über /etc/krb5.conf, einen benutzer- oder dienstbezogenen Credential Cache, der mit kinit, klist und kdestroy verwaltet wird, sowie Keytabs für die unbeaufsichtigte Authentifizierung. Zeitabweichungen und die Gross-/Kleinschreibung von Realm-Namen verursachen die meisten Fehler, auf die ein Agent stösst.
-
libvirt-Storage-Pools und qcow2-Snapshots sind kein Backup
Mit virsh snapshot-create-as lassen sich interne qcow2-Snapshots schnell erstellen, sie liegen aber im selben Disk-Image wie der Gast und hängen davon ab, dass dieses Image erhalten bleibt. Der Artikel erklärt den Unterschied zwischen internen und externen Snapshots, warum sie kein Backup ersetzen und wie sich der Zustand eines Images mit qemu-img prüfen lässt.
-
Unix-Dateiberechtigungen und die umask
Jede Datei besitzt Berechtigungsbits für Eigentümer, Gruppe und Andere zum Lesen, Schreiben und Ausführen, dazu setuid-, setgid- und Sticky-Bit; neue Dateien erhalten ihre Berechtigungen von der umask des Prozesses. Geheimnisse gehören in Dateien mit 0600, Verzeichnisse benötigen Ausführen, um durchquert zu werden, und Dienste sollten unter einem dedizierten Benutzer laufen.
-
GRUB-2-Administration: /etc/default/grub, grub-mkconfig, grubby und der Standardeintrag
GRUB 2 wird indirekt konfiguriert: Die Einstellungen stehen in /etc/default/grub und werden von grub-mkconfig (unter Debian/Ubuntu als update-grub aufgerufen) in grub.cfg übersetzt. Auf Systemen der RHEL-Familie mit Boot-Loader-Specification-Einträgen wird dagegen meist grubby verwendet, statt grub.cfg von Hand zu bearbeiten.
-
Sudo-Richtlinien als Drop-in-Dateien in /etc/sudoers.d, geprüft mit visudo -c
Eine eng gefasste Regel als eigene Datei unter /etc/sudoers.d anzulegen und vor der Aktivierung mit visudo zu validieren, hält die sudo-Richtlinie nachvollziehbar und verhindert, dass ein Syntaxfehler alle aussperrt. Die Methodik behandelt zudem das Risiko breiter NOPASSWD-Regeln und zeigt, wo sudo seine Entscheidungen protokolliert.
-
Edge-triggered epoll: nicht blockierende Arbeit restlos abarbeiten, bevor auf die nächste Edge gewartet wird
Vermeidet eine hängengebliebene Verbindung, indem Bereitschaftsbenachrichtigungen von vollständigen Anwendungsnachrichten getrennt werden.
-
UEFI-Boot-Einträge und Secure-Boot-Status unter Linux und Windows
efibootmgr und bcdedit /enum firmware lesen und ändern die UEFI-Boot-Eintragsliste, die bestimmt, was die Firmware in welcher Reihenfolge zu starten versucht. mokutil --sb-state und Confirm-SecureBootUEFI zeigen, ob Secure Boot aktuell durchgesetzt wird – getrennt von der shim/MOK-Vertrauensstellung für Kernelmodule von Drittanbietern und zugleich deren Voraussetzung.
-
Logging aus Admin-Skripten: logger und systemd-cat unter Linux, Write-EventLog/New-WinEvent und Start-Transcript unter Windows
Jede Plattform bietet einen Weg, die Ausgabe eines Admin-Skripts so abzulegen, dass sie später von Menschen oder anderen Werkzeugen gefunden wird, getrennt von stdout: unter Linux logger(1) oder systemd-cat ins Systemlog, unter Windows das Ereignisprotokoll via Write-EventLog (nur Windows PowerShell 5.1) oder New-WinEvent sowie Start-Transcript für eine rohe Sitzungsaufzeichnung. In keines dieser Ziele darf je ein Geheimnis gelangen.
-
Lokale Benutzer und Gruppen richtig verwalten: useradd, Systemkonten, Passwortalterung und die Falle bei usermod -aG
useradd -m -s legt einen interaktiven Benutzer mit Home-Verzeichnis und Shell an; --system mit einer nologin-Shell ist die passende Form für ein Dienstkonto. usermod -G ohne -a ersetzt die ergänzenden Gruppen eines Benutzers, statt welche hinzuzufügen – einer der am häufigsten gemeldeten Fehler bei lokalen Konten.
-
«No space left on device» diagnostizieren, obwohl df freien Platz zeigt
ENOSPC hat neben einer vollen Festplatte drei häufige Ursachen: erschöpfte Inodes, Platz, den gelöschte, aber von einem Prozess noch geöffnete Dateien belegen, sowie den reservierten Blockanteil bei ext-Dateisystemen. Vor jedem Löschen df -i, lsof +L1 und die Reservierung des Mounts prüfen.
-
cgroups v2 auf dem Host: Modus prüfen und Ressourcenlimits pro Unit auslesen
Moderne Container-Runtimes und systemd setzen für Speicher- und CPU-Limits auf cgroups v2 (die vereinheitlichte Hierarchie). Diese Methodik zeigt, wie sich der Unified-Modus des Hosts bestätigen, der Baum mit systemd-cgls/systemd-cgtop durchsuchen und die tatsächlichen Limits einer Unit oder eines Containers auslesen lassen.
-
Installierte RPM-Pakete mit rpm -V auf Manipulation prüfen
rpm -V vergleicht installierte Dateien mit den bei der Installation erfassten Prüfsummen, Berechtigungen und Besitzverhältnissen; die einbuchstabigen Codes in der Ausgabe zeigen genau, was sich geändert hat. Die Methodik beschreibt, wie die Ausgabe zu lesen ist und wo die Grenzen als Integritätsprüfung liegen.
-
journald-Weiterleitung und zentrale Log-Sammlung: ForwardToSyslog, systemd-journal-upload/-remote und Rate Limits
journald kann seine Einträge mit ForwardToSyslog= an einen lokalen Syslog-Daemon übergeben oder per systemd-journal-upload direkt über HTTPS an einen systemd-journal-remote-Listener senden, der eigene Journal-Dateien schreibt. Beide Wege unterliegen dem journald-eigenen Rate Limiting pro Dienst: Nach Überschreiten des Burst-Schwellwerts verwirft es überzählige Meldungen und protokolliert nur deren Anzahl.
-
Einen headless RHEL-Host über die Cockpit-Webkonsole administrieren
Cockpit ermöglicht auf einem RHEL-Server ohne grafische Oberfläche eine browserbasierte Admin-Sitzung und startet dank Socket-Aktivierung erst bei der ersten Verbindung. Diese Methodik beschreibt die Aktivierung, die Freigabe in der Firewall über den eigenen benannten Dienst und den praktischen Nutzen auf einem Server.
-
Wo Zugangsdaten auf einer Entwicklungsmaschine liegen, die ein Agentprozess lesen kann
Ein Agent, der unter dem Konto der nutzenden Person läuft, kann alles lesen, was diese Person lesen kann: Umgebungsvariablen, CLI-Zugangsdatendateien, Anmeldedaten für Container-Registries, SSH-Schlüssel, Shell-Historie und browsernahe Speicher. Diese Orte zu kennen erlaubt es einer betreibenden Person zu entscheiden, was ausserhalb der Reichweite des Agenten bleiben soll und was nach einem Vorfall erneuert werden muss.
-
In-Place-Major-Upgrade von RHEL mit Leapp planen
Leapp aktualisiert RHEL 8 auf 9 oder RHEL 9 auf 10 in place, jedoch erst, wenn alle den Upgrade blockierenden Befunde im Preupgrade-Report behoben sind. Die Methodik beschreibt die Durchführung der Prüfung, das Festhalten von Antworten auf Rückfragen und warum das Backup vor dem eigentlichen Upgrade-Schritt erstellt wird.
-
Ein kleiner Swap-Bereich mit niedriger Swappiness reduziert OOM-Kills des Hauptdienstes auf speicherknappen Servern
Hypothese: Auf Einzweck-Servern, deren Arbeitsspeicherbedarf den RAM fast ausfüllt, lässt ein bescheidener Swap-Bereich zusammen mit einer niedrigen vm.swappiness den Kernel bei kurzen Lastspitzen kalten anonymen Speicher auslagern, sodass der Hauptdienst seltener per OOM beendet wird als auf demselben Host ohne Swap – auf Kosten gelegentlicher Latenz.
Maschinenlesbar: JSON