Ich aktualisiere gerade von Debian 10 auf Debian 11 mitdiese Anweisungen. Alles scheint reibungslos funktioniert zu haben, außer dass Maldet ausfällt.
Dies ist der Fehler:
maldet[2117]: maldet(2117): {mon} kernel does not support inotify(), aborting
systemd[1]: maldet.service: Can't open PID file /usr/local/maldetect/tmp/inotifywait.pid (yet?) after start: Operation not permitted
systemd[1]: maldet.service: Failed with result 'protocol'.
systemd[1]: Failed to start Linux Malware Detect monitoring - maldet.
Meine Datei /usr/lib/systemd/system/maldet.service enthält:
[Unit]
Description=Linux Malware Detect monitoring - maldet
After=network.target
[Service]
EnvironmentFile=/usr/local/maldetect/conf.maldet
ExecStart=/usr/local/maldetect/maldet --monitor USERS
ExecStop=/usr/local/maldetect/maldet --kill-monitor
Type=forking
PIDFile=/usr/local/maldetect/tmp/inotifywait.pid
[Install]
WantedBy=multi-user.target
Vor meinem Update habe ich überprüft, ob alle Dienste ordnungsgemäß funktionieren, und während des Updates „N“ (Nein) ausgewählt und das Ersetzen meiner benutzerdefinierten Konfigurationsdateien abgelehnt. Es sollte sich also nichts geändert haben.
Außerdem verwende ich Linux 5.10.0-8-amd64 und Maldet 1.6.4
Kann mir jemand helfen, das herauszufinden? Danke
Antwort1
Das Problem ist der Zustand in der Datei/usr/local/maldetect/internals/funktionen:
if [ -f "/boot/System.map-$(uname -r)" ]; then
ksup=`grep -i inotify_ /boot/System.map-$(uname -r)`
if [ -z "$ksup" ]; then
eout "{mon} kernel does not support inotify(), aborting." 1
exit
fi
elif [ -f "/boot/config-$(uname -r)" ]; then
ksup=`grep -m1 CONFIG_INOTIFY /boot/config-$(uname -r)`
if [ -z "$ksup" ]; then
eout "{mon} kernel does not support inotify(), aborting." 1
exit
fi
fi
Es führt grep auf der Datei aus/boot/System.map-$(uname -r)aber in Debian 11 ist der Inhaltffffffffffffffff B The real System.map is in the linux-image-<version>-dbg package
Ich sehe zwei schnelle Lösungen. Die erste besteht darin, die richtige Datei zu überprüfen:
- Installieren Sie das dbg-Paket für den laufenden Kernel mit diesem Befehl
apt install linux-image-$(uname -r)-dbg
- Ersetzen Sie den Dateipfad der Bedingung, um auf die gute zu verweisen, durch
sed -i 's#/boot/System.map#/lib/debug/boot/System.map#' /usr/local/maldetect/internals/functions
Um die Installation des dbg-Pakets zu vermeiden, besteht die andere Lösung darin, die erste Bedingung zu entfernen und nur die zweite zu verwenden, die eincheckt /boot/config-$(uname -r)
.
Ich habe die erste zum Testen verwendet, Maldetect startet jetzt. Beide Lösungen sollten funktionieren, solange auf eine endgültige Lösung gewartet wird.
Grüße