Zum Hauptinhalt springen

Protokolle

Audit-Log der Administratoraktionen und Systemprotokoll (Journal).

Audit-Log​

Zugriff → Audit-Log zeigt, wer wann was geändert hat. Aufgezeichnet werden:

  • jede ändernde Anfrage an die API (Anlegen, Ändern, Löschen, Aktionen) aller Bereiche, auch fehlgeschlagene und abgewiesene,
  • An- und Abmeldungen einschließlich falscher Passwörter, der zweite Anmeldeschritt und Änderungen an HTTPS und Zwei-Faktor-Anmeldung,
  • Terminal-Sitzungen (Beginn und Ende).

Jeder Eintrag enthält Zeit, Administrator, Adresse des Clients, Aktion (z. B. storage.pool.create), Ziel (z. B. Pool- oder Freigabename), Ergebnis (Erledigt, Fehlgeschlagen, Abgewiesen), HTTP-Status und bei Fehlern den Fehlertext. Passwörter, Schlüssel und Codes werden nie aufgezeichnet.

Filter: Volltextsuche (alle Wörter müssen vorkommen), Administrator, Bereich (erster Teil der Aktion), Ergebnis und Zeitraum. Ein Klick auf eine Zeile zeigt Details. Ältere Einträge laden blättert weiter.

Ablage​

/appdata/bunkerbox/data/audit/audit.log (Verzeichnis 700, Datei 600), eine JSON-Zeile pro Eintrag, nur angehängt. Ab 5 MiB wird die Datei zu audit.log.1 (die älteren rücken auf), es bleiben 5 alte Dateien. Beispiel:

{"id":"…","at":"2026-11-02T09:14:03.120Z","action":"shares.create","user":"admin","ip":"192.168.1.50","target":"media","result":"ok","status":201,"errorKey":null,"details":null}

Die Dateien lassen sich mit jq auswerten, z. B. jq -c 'select(.result != "ok")' /appdata/bunkerbox/data/audit/audit.log.

MethodePfadBeschreibung
GET/api/audit?q=&user=&action=<präfix>&result=ok|failed|denied&from=&to=&limit=1..500&before=<cursor> -> AuditPage (neueste zuerst, nextCursor)
GET/api/audit/facetsAuditFacets (vorkommende Administratoren und Bereiche)

Systemprotokoll​

System → Systemprotokoll zeigt das systemd-Journal des Geräts (journalctl -o json), neueste Einträge zuerst.

  • Filter: Dienst (alle Units mit Journal-Einträgen), Priorität („Warnung und schwerer“ usw.), Zeitraum (15 Minuten bis 7 Tage oder alles) und Text in der Meldung (ohne Groß-/Kleinschreibung).
  • Mitlesen holt alle 3 Sekunden neue Einträge (ab dem zuletzt gesehenen Journal-Cursor) und setzt sie oben an; bis zu 3000 Zeilen bleiben sichtbar.
  • Ältere Einträge laden blättert vom ältesten angezeigten Eintrag weiter zurück (300 pro Seite).
  • Fehler und kritische Meldungen sind rot, Warnungen orange markiert.

Unit-Namen, Cursor, Zeiten und Suchtext werden geprüft und als einzelne Argumente an journalctl übergeben (Suche über --grep mit maskierten Sonderzeichen). Fehlt journalctl die Mustersuche, filtert Bunkerbox selbst über ein größeres Fenster.

MethodePfadBeschreibung
GET/api/logs?unit=a.service,b.service&priority=0..7&since=&until=&q=&limit=1..2000&after=<cursor>&before=<cursor> -> LogPage (entries neueste zuerst, cursor des neuesten Eintrags, more)
GET/api/logs/unitsLogUnit[] (Name und Beschreibung)