Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

عملية Daemon

يبدأ الأمر sd daemon تشغيل PRX-SD كعملية خلفية طويلة الأمد تجمع بين مراقبة الملفات في الوقت الفعلي وتحديثات التوقيعات التلقائية. هذه هي الطريقة الموصى بها لتشغيل PRX-SD على الخوادم ومحطات العمل التي تحتاج إلى حماية مستمرة.

الاستخدام

bash
sd daemon [SUBCOMMAND] [OPTIONS]

الأوامر الفرعية

الأمر الفرعيالوصف
startبدء الـ daemon (الافتراضي إذا لم يُعطَ أمر فرعي)
stopإيقاف الـ daemon الجاري
restartإيقاف وإعادة تشغيل الـ daemon
statusعرض حالة الـ daemon وإحصاءاته

الخيارات (start)

العلمالمختصرالافتراضيالوصف
--watch-w/home,/tmpمسارات مفصولة بفواصل للمراقبة
--update-hours-u6فترة تحديث التوقيعات التلقائية بالساعات
--no-updatefalseتعطيل تحديثات التوقيعات التلقائية
--block-bfalseتمكين وضع الحظر (Linux fanotify)
--auto-quarantine-qfalseعزل التهديدات تلقائياً
--pid-file~/.prx-sd/sd.pidموقع ملف PID
--log-file~/.prx-sd/daemon.logموقع ملف السجل
--log-level-linfoتفصيل السجل: trace, debug, info, warn, error
--config-c~/.prx-sd/config.tomlمسار ملف الإعدادات

ما يُديره الـ Daemon

عند بدء التشغيل، يُطلق sd daemon نظامَيْن فرعيَّيْن:

  1. شاشة الملفات -- يراقب المسارات المُهيَّأة لأحداث نظام الملفات ويفحص الملفات الجديدة أو المعدَّلة. يعادل تشغيل sd monitor بنفس المسارات.
  2. جدول التحديثات -- يتحقق دورياً ويُنزِّل توقيعات التهديدات الجديدة (قواعد بيانات الهاش وقواعد YARA وموجات IOC). يعادل تشغيل sd update بالفترة الزمنية المُهيَّأة.

المسارات المُراقَبة الافتراضية

عندما لا يُحدَّد --watch، يراقب الـ daemon:

المنصةالمسارات الافتراضية
لينكس/home, /tmp
macOS/Users, /tmp, /private/tmp
ويندوزC:\Users, C:\Windows\Temp

تجاوز هذه الافتراضيات في ملف الإعدادات أو عبر --watch:

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

فحص الحالة

استخدم sd daemon status (أو الاختصار sd status) لعرض حالة الـ daemon:

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 (لينكس)

إنشاء خدمة systemd للتشغيل التلقائي:

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

# Security hardening
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

يتطلب الـ daemon الجذر لاستخدام وضع حظر fanotify. للمراقبة غير الحاجبة، يمكنك تشغيله كمستخدم غير متميز مع وصول القراءة إلى المسارات المُراقَبة.

تكامل launchd (macOS)

إنشاء plist خدمة إطلاق في /Library/LaunchDaemons/com.openprx.sd.plist:

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

الإشارات

الإشارةالسلوك
SIGHUPإعادة تحميل الإعدادات وإعادة تشغيل الشاشات بدون إعادة تشغيل كاملة
SIGTERMإيقاف تشغيل لطيف -- إنهاء الفحص الحالي، تفريغ السجلات
SIGINTنفس SIGTERM
SIGUSR1تشغيل تحديث توقيعات فوري
bash
# تشغيل تحديث فوري
kill -USR1 $(cat ~/.prx-sd/sd.pid)

أمثلة

bash
# بدء الـ daemon بالإعدادات الافتراضية
sd daemon start

# بدء بمسارات مراقبة مخصصة ودورة تحديث 4 ساعات
sd daemon start --watch /home,/tmp,/var/www --update-hours 4

# بدء مع وضع الحظر والعزل التلقائي
sudo sd daemon start --block --auto-quarantine

# فحص حالة الـ daemon
sd status

# إعادة تشغيل الـ daemon
sd daemon restart

# إيقاف الـ daemon
sd daemon stop

WARNING

إيقاف الـ daemon يُعطِّل جميع الحماية في الوقت الفعلي. أحداث نظام الملفات التي تحدث أثناء توقف الـ daemon لن تُفحص بأثر رجعي.

الخطوات التالية

Released under the Apache-2.0 License.