Acabei de atualizar do Debian 10 para o Debian 11 usandoestas instruções. Tudo parece ter funcionado bem, exceto que Maldet está falhando.
Este é o erro:
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.
Meu arquivo /usr/lib/systemd/system/maldet.service contém:
[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 da minha atualização, verifiquei que todos os serviços estavam funcionando corretamente e durante a atualização escolhi "N" não, recusei-me a substituir meus arquivos de configuração personalizados... então nada deveria ter mudado.
Além disso, estou usando Linux 5.10.0-8-amd64 e maldet 1.6.4
Alguém pode me ajudar a descobrir isso? obrigado
Responder1
O problema é a condição no arquivo/usr/local/maldetect/internals/funções:
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á fazendo grep no arquivo/boot/System.map-$(uname -r)mas no Debian 11 o conteúdo éffffffffffffffff B The real System.map is in the linux-image-<version>-dbg package
Vejo duas soluções rápidas, a primeira é verificar o arquivo adequado:
- Instale o pacote dbg para o Kernel em execução com este comando
apt install linux-image-$(uname -r)-dbg
- Substitua o caminho do arquivo da condição para apontar para o bom por
sed -i 's#/boot/System.map#/lib/debug/boot/System.map#' /usr/local/maldetect/internals/functions
Para evitar a instalação do pacote dbg, a outra solução é remover a primeira condição e usar apenas a segunda que faz check-in no /boot/config-$(uname -r)
.
Usei o primeiro para testar, o Maldetect está começando agora. Ambas as soluções devem funcionar aguardando uma solução definitiva.
Cumprimentos