Рейтинг:0

Обновление с Debian 10 до Debian 11 пошло не так

флаг cn

Я просто обновляюсь с Debian 10 до Debian 11, используя эти инструкции. Кажется, все работает гладко, за исключением того, что maldet не работает.

Это ошибка:

maldet[2117]: maldet(2117): ядро ​​{mon} не поддерживает inotify(), отмена
systemd[1]: maldet.service: не удается открыть файл PID /usr/local/maldetect/tmp/inotifywait.pid (пока?) после запуска: операция не разрешена 
systemd[1]: maldet.service: Ошибка с результатом «протокол».
systemd[1]: не удалось запустить мониторинг Linux Malware Detect — maldet.

Мой файл /usr/lib/systemd/system/maldet.service содержит:

[Ед. изм]
Description=Linux Malware Detect Monitoring - maldet
После=network.target

[Оказание услуг]
EnvironmentFile=/usr/local/maldetect/conf.maldet
ExecStart=/usr/local/maldetect/maldet --monitor ПОЛЬЗОВАТЕЛИ
ExecStop=/usr/local/maldetect/maldet --kill-monitor
Тип = разветвление
PIDFile=/usr/local/maldetect/tmp/inotifywait.pid
[Установить]
WantedBy=многопользовательская.цель

перед моим обновлением я убедился, что все службы работают правильно, и во время обновления выбрал «N» нет, отказался заменить мои пользовательские файлы конфигурации ... так что ничего не должно было измениться.

Кроме того, я использую Linux 5.10.0-8-amd64 и maldet 1.6.4.

Может ли кто-нибудь помочь мне понять это? Благодарность

Michael Hampton avatar
флаг cz
`ядро не поддерживает inotify` не имеет смысла, так как очень маловероятно, что сопровождающие Debian допустили бы такую ​​ошибку при сборке ядра и не получили бы жалоб миллионов людей. Что-то еще происходит с вашей системой. Вы на самом деле **просматривали** новые файлы конфигурации, чтобы увидеть, есть ли изменения, которые вам нужно внести?
Maestro223 avatar
флаг cn
@MichaelHampton Первое, что я сделал, пытаясь устранить эту проблему, — это просмотр моего руководства по установке и настроек. Ничего не изменилось. Я даже сравнил файлы конфигурации моего тестового сервера с файлами конфигурации моего рабочего сервера, где maldet все еще работает на prod..
Maestro223 avatar
флаг cn
Отредактировано выше. Я запускаю maldet 1.6.4 как на проде, так и на тесте. inotifywait присутствует в /usr/bin/inotifywait, а /usr/local/maldetect/conf.maldet по-прежнему являются моими настроенными версиями как для теста, так и для продукта... отсюда и мое замешательство.
флаг la
кажется, что maldet был установлен не с использованием пакетов debian, а «вручную» - я бы попытался пересобрать/переустановить его, чтобы посмотреть, поможет ли это. также может быть полезно проверить /usr/local/maldetect/tmp/ на наличие разрешений или других проблем - кажется, что maldet не может создать там файл (pid).
Maestro223 avatar
флаг cn
@MartynasSaint, можете ли вы предоставить инструкции по установке maldet через пакеты Debian. Все наборы установки, которые я нашел, используют ручную установку. К вашему сведению, разрешения для /usr/local/maldetect/tmp/ по-прежнему одинаковы между prod и test.
флаг la
я полагаю, что официального пакета Debian нет, поэтому вам придется сделать это самостоятельно, если вы хотите пойти по этому пути. под тестовым сервером вы подразумеваете debian 11 и prod debian 10? кстати, что происходит, когда вы запускаете его вручную, например: /usr/local/maldetect/maldet --monitor USERS?
Рейтинг:2
флаг cn

Проблема в условии в файле /usr/local/maldetect/внутренние/функции :

если [ -f "/boot/System.map-$(uname -r)" ]; тогда
        ksup=`grep -i inotify_ /boot/System.map-$(uname -r)`
        если [-z "$ksup"]; тогда
            eout "Ядро {mon} не поддерживает inotify(), прерывание." 1
            выход
        фи
    elif [-f "/boot/config-$(uname -r)"]; тогда
        ksup=`grep -m1 CONFIG_INOTIFY /boot/config-$(uname -r)`
        если [-z "$ksup"]; тогда
            eout "Ядро {mon} не поддерживает inotify(), прерывание." 1
            выход
        фи
фи

Это делает grep в файле /boot/System.map-$(имя-r) но в Debian 11 содержимое ffffffffffffffff B Настоящий System.map находится в пакете linux-image-<версия>-dbg

Я вижу два быстрых решения, первое - проверить правильный файл:

  • Установите пакет dbg для работающего ядра с помощью этой команды. apt установить linux-image-$(uname -r)-dbg
  • Замените путь к файлу условия, чтобы указать на хороший с sed -i 's#/boot/System.map#/lib/debug/boot/System.map#' /usr/local/maldetect/internals/functions

Чтобы избежать установки пакета dbg, другое решение состоит в том, чтобы удалить первое условие и использовать только второе, которое регистрируется в /boot/config-$(имя-r).

Я использовал первый для тестирования, сейчас запускается Maldetect. Оба решения должны работать в ожидании окончательного исправления.

С уважением

Maestro223 avatar
флаг cn
спасибо за это .. я попробую и дам вам знать ...
Maestro223 avatar
флаг cn
Это решение сработало как шарм... спасибо.
Maestro223 avatar
флаг cn
Привет... к сожалению, мне пришлось перейти на новый сервер... (ubuntu 20.04), но я снова столкнулся с этой проблемой. Однако ни одно из вышеперечисленных решений не работает. 1.) Я не могу установить пакет dbg. и (E: не удалось найти пакет linux-image-5.4.0-109-generic-dbg) и 2.) только с использованием второго решения, просто не сработало. Любые другие предложения?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.