Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Daemon-Prozess

Der Befehl sd daemon startet PRX-SD als langlebigen Hintergrundprozess, der Echtzeit-Dateiüberwachung mit automatischen Signatur-Updates kombiniert. Dies ist die empfohlene Methode, PRX-SD auf Servern und Workstations auszuführen, die kontinuierlichen Schutz benötigen.

Verwendung

bash
sd daemon [SUBCOMMAND] [OPTIONS]

Unterbefehle

UnterbefehlBeschreibung
startDaemon starten (Standard wenn kein Unterbefehl angegeben)
stopLaufenden Daemon stoppen
restartDaemon stoppen und neu starten
statusDaemon-Status und Statistiken anzeigen

Optionen (start)

FlagKurzStandardBeschreibung
--watch-w/home,/tmpKommagetrennte zu überwachende Pfade
--update-hours-u6Automatisches Signatur-Update-Intervall in Stunden
--no-updatefalseAutomatische Signatur-Updates deaktivieren
--block-bfalseBlock-Modus aktivieren (Linux fanotify)
--auto-quarantine-qfalseBedrohungen automatisch in Quarantäne
--pid-file~/.prx-sd/sd.pidPID-Datei-Speicherort
--log-file~/.prx-sd/daemon.logProtokolldatei-Speicherort
--log-level-linfoProtokoll-Detailgrad: trace, debug, info, warn, error
--config-c~/.prx-sd/config.tomlPfad zur Konfigurationsdatei

Was der Daemon verwaltet

Beim Start startet sd daemon zwei Subsysteme:

  1. Dateimonitor -- überwacht die konfigurierten Pfade auf Dateisystem-Ereignisse und scannt neue oder geänderte Dateien. Entspricht dem Ausführen von sd monitor mit denselben Pfaden.
  2. Update-Scheduler -- prüft periodisch auf neue Bedrohungssignaturen (Hash-Datenbanken, YARA-Regeln, IOC-Feeds) und lädt sie herunter. Entspricht dem Ausführen von sd update im konfigurierten Intervall.

Standard-überwachte Pfade

Wenn --watch nicht angegeben ist, überwacht der Daemon:

PlattformStandardpfade
Linux/home, /tmp
macOS/Users, /tmp, /private/tmp
WindowsC:\Users, C:\Windows\Temp

Diese Standardwerte in der Konfigurationsdatei oder über --watch überschreiben:

bash
sd daemon start --watch /home,/tmp,/var/www,/opt

Status prüfen

sd daemon status (oder die Kurzform sd status) verwenden, um den Daemon-Zustand anzuzeigen:

bash
sd status
PRX-SD Daemon Status
  State:          running (PID 48231)
  Uptime:         3 days, 14 hours, 22 minutes
  Watched paths:  /home, /tmp
  Files scanned:  12,847
  Threats found:  3 (2 quarantined, 1 reported)
  Last update:    2026-03-21 08:00:12 UTC (signatures v2026.0321.1)
  Next update:    2026-03-21 14:00:12 UTC
  Memory usage:   42 MB

systemd-Integration (Linux)

Einen systemd-Dienst für automatischen Start erstellen:

ini
[Unit]
Description=PRX-SD Antivirus Daemon
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
ExecStart=/usr/local/bin/sd daemon start
ExecStop=/usr/local/bin/sd daemon stop
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/var/lib/prx-sd/sd.pid
Restart=on-failure
RestartSec=10
User=root

# Sicherheitshärtung
NoNewPrivileges=yes
ProtectSystem=strict
ReadWritePaths=/var/lib/prx-sd /home /tmp

[Install]
WantedBy=multi-user.target
bash
sudo systemctl enable --now prx-sd
sudo systemctl status prx-sd
sudo journalctl -u prx-sd -f

TIP

Der Daemon benötigt Root-Rechte für den fanotify-Block-Modus. Für Nicht-Block-Überwachung kann er als nicht-privilegierter Benutzer mit Lesezugriff auf die überwachten Pfade ausgeführt werden.

launchd-Integration (macOS)

Einen Launch-Daemon-Plist unter /Library/LaunchDaemons/com.openprx.sd.plist erstellen:

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.openprx.sd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/sd</string>
        <string>daemon</string>
        <string>start</string>
        <string>--watch</string>
        <string>/Users,/tmp</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/var/log/prx-sd.log</string>
    <key>StandardErrorPath</key>
    <string>/var/log/prx-sd.log</string>
</dict>
</plist>
bash
sudo launchctl load /Library/LaunchDaemons/com.openprx.sd.plist
sudo launchctl list | grep openprx

Signale

SignalVerhalten
SIGHUPKonfiguration neu laden und Watches ohne vollständigen Neustart neu starten
SIGTERMGeordnetes Herunterfahren -- aktuellen Scan beenden, Protokolle leeren
SIGINTWie SIGTERM
SIGUSR1Sofortiges Signatur-Update auslösen
bash
# Sofortiges Update erzwingen
kill -USR1 $(cat ~/.prx-sd/sd.pid)

Beispiele

bash
# Daemon mit Standardeinstellungen starten
sd daemon start

# Mit benutzerdefinierten Überwachungspfaden und 4-Stunden-Update-Zyklus starten
sd daemon start --watch /home,/tmp,/var/www --update-hours 4

# Mit Block-Modus und Auto-Quarantäne starten
sudo sd daemon start --block --auto-quarantine

# Daemon-Status prüfen
sd status

# Daemon neu starten
sd daemon restart

# Daemon stoppen
sd daemon stop

WARNING

Das Stoppen des Daemons deaktiviert den gesamten Echtzeitschutz. Dateisystem-Ereignisse, die auftreten, während der Daemon gestoppt ist, werden nicht nachträglich gescannt.

Nächste Schritte

Released under the Apache-2.0 License.