Приложение Д. Сборка модуля ядра для SpIDer Guard

В этом разделе:

Общие сведения.

Инструкция по сборке модуля ядра.

Возможные ошибки сборки.

Общие сведения

Если операционная система не предоставляет механизм fanotify, используемый SpIDer Guard для мониторинга действий с объектами файловой системы, он может использовать специальный загружаемый модуль, работающий в пространстве ядра (LKM-модуль).

По умолчанию в составе SpIDer Guard поставляется скомпилированный модуль ядра для ОС, не предоставляющих сервис fanotify. Также совместно со SpIDer Guard поставляется архив в формате tar.bz2, содержащий исходные файлы загружаемого модуля ядра, чтобы его можно было собрать вручную.

LKM-модуль, используемый SpIDer Guard, предназначен для работы с ядрами GNU/Linux версий 2.6.* и новее.

Для архитектур ARM64 и E2K возможность работы с LKM не поддерживается.

Архив с исходными кодами загружаемого модуля ядра располагается в каталоге основных файлов Dr.Web для Linux (по умолчанию — /opt/drweb.com), в подкаталоге share/drweb-spider-kmod/src, и имеет имя вида drweb-spider-kmod-<версия>-<дата>.tar.bz2. Также в каталоге drweb-spider-kmod имеется скрипт проверки check-kmod-install.sh, запустив который, вы получите информацию, поддерживает ли используемая вами операционная система предварительно скомпилированные версии модулей ядра, уже включенные в состав Dr.Web для Linux. В случае если нет, на экран будет выведена рекомендация выполнить ручную сборку.

Если указанный каталог drweb-spider-kmod отсутствует, установите пакет drweb-spider-kmod.

Для выполнения ручной сборки LKM-модуля из исходных кодов требуются права суперпользователя. Для получения прав суперпользователя при сборке воспользуйтесь командой смены пользователя su или командой выполнения от имени другого пользователя sudo.

Инструкция по сборке модуля ядра

1.Распакуйте архив с исходными кодами в любой каталог. Например, команда

# tar -xf drweb-spider-kmod-<версия>-<дата>.tar.bz2

распакует архив непосредственно в каталог, содержащий сам архив, создав в нем подкаталог с именем файла архива (обратите внимание, что для записи в каталог, содержащий архив, необходимы права суперпользователя).

2.Перейдите в созданный каталог с исходными кодами и выполните команду:

# make

В случае возникновения ошибок на этапе make, устраните их (см. ниже) и выполните компиляцию повторно.

3.После успешного окончания этапа make выполните следующие команды:

# make install
# depmod

4.После успешной сборки модуля ядра и его регистрации в системе, выполните дополнительно настройку SpIDer Guard, указав ему режим работы с модулем ядра, выполнив команду

# drweb-ctl cfset LinuxSpider.Mode LKM

Также допускается установка значения AUTO вместо значения LKM. В этом случае SpIDer Guard будет пробовать использовать не только модуль ядра, но и системный механизм fanotify. Для получения дополнительной информации используйте документацию man: drweb-spider(1).

Возможные ошибки сборки

На этапе выполнения сборки make могут возникать ошибки. В этом случае проверьте следующее:

Для успешной сборки требуется наличие Perl и компилятора GCC. Если они отсутствуют, установите их.

В некоторых ОС может потребоваться предварительная установка пакета kernel-devel.

В некоторых OC сборка может завершиться ошибкой из-за неправильно определенного пути к каталогу исходных кодов ядра. В этом случае используйте команду make с параметром KDIR=<путь к исходным кодам ядра>. Обычно они размещаются в каталоге /usr/src/kernels/<версия ядра>.

Обратите внимание, что версия ядра, выдаваемая командой uname -r, может не совпадать с именем каталога <версия ядра>.