Acabo de actualizar de Debian 10 a Debian 11 usandoestas instrucciones. Todo parece haber funcionado sin problemas, excepto que Maldet está fallando.
Este es el error:
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.
Mi archivo /usr/lib/systemd/system/maldet.service contiene:
[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
Antes de mi actualización, verifiqué que todos los servicios funcionaban correctamente y durante la actualización elegí "N" no, rechacé reemplazar mis archivos de configuración personalizados... así que nada debería haber cambiado.
Además, estoy usando Linux 5.10.0-8-amd64 y maldet 1.6.4.
¿Puede alguien ayudarme a resolver esto? gracias
Respuesta1
El problema es la condición en el archivo./usr/local/maldetect/internos/funciones:
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
Está haciendo grep en el archivo./boot/System.map-$(uname -r)pero en Debian 11 el contenido esffffffffffffffff B The real System.map is in the linux-image-<version>-dbg package
Veo dos soluciones rápidas, la primera es comprobar el archivo adecuado:
- Instale el paquete dbg para el Kernel en ejecución con este comando
apt install linux-image-$(uname -r)-dbg
- Reemplace la ruta del archivo de la condición para que apunte a la buena con
sed -i 's#/boot/System.map#/lib/debug/boot/System.map#' /usr/local/maldetect/internals/functions
Para evitar instalar el paquete dbg, la otra solución es eliminar la primera condición y usar solo la segunda que se registra en /boot/config-$(uname -r)
.
Utilicé el primero para probar, Maldetect está comenzando ahora. Ambas soluciones deberían funcionar esperando una solución definitiva.
Saludos