Использование модуля ядра для SpIDer Guard

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

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

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

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

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

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

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

Загружаемый модуль ядра (LKM), используемый SpIDer Guard, предназначен для работы с ядрами Linux версий 2.6.* и более поздней.

Работа с LKM не поддерживается для архитектур ARM64, E2K и IBM POWER (ppc64el).

Архив с исходным кодом загружаемого модуля ядра располагается в каталоге основных файлов Dr.Web для файловых серверов UNIX <opt_dir> (для GNU/Linux — /opt/drweb.com), в подкаталоге share/drweb-spider-kmod/src/ и имеет имя вида drweb-spider-kmod-<версия>-<дата>.tar.bz2.

Также в каталоге drweb-spider-kmod имеется файл скрипта check-kmod-install.sh, исполнив который, вы получите информацию, поддерживает ли используемая вами операционная система предварительно скомпилированные версии ядра, уже включенные в состав Dr.Web для файловых серверов UNIX. Если нет, то на экран будет выведена рекомендация выполнить ручную сборку.

В случае отсутствия каталога drweb-spider-kmod по указанному пути, выполните установку пакета drweb-spider-kmod (из репозитория или выборочной установкой из универсального пакета, в зависимости от способа, которым установлен Dr.Web для файловых серверов UNIX).

Для выполнения ручной сборки загружаемого модуля ядра из исходного кода необходимо обладать правами суперпользователя (root). Для получения прав суперпользователя при сборке воспользуйтесь командой смены пользователя 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 1 drweb-spider

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

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

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

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

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

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