Пользовательские процедуры

При выполнении lua-скриптов администратор получает доступ ко всей файловой системе в пределах каталога Сервера и некоторым системным командам на компьютере с установленным Сервером.

Чтобы запретить доступ к пользовательским процедурам, отключите право Редактирование конфигурации Сервера и конфигурации репозитория для соответствующего администратора (см. п. Администраторы и административные группы).

Для упрощения и автоматизации выполнения определенных заданий Сервера Dr.Web возможно использование пользовательских процедур, реализованных в виде lua-скриптов.

Пользовательские процедуры располагаются в следующем подкаталоге каталога установки Сервера:

для ОС Windows: var\extensions

для OC FreeBSD: /var/drwcs/extensions

для OC Linux: /var/opt/drwcs/extensions

После инсталляции Сервера в данном подкаталоге размещаются предустановленные пользовательские процедуры.

Редактирование пользовательских процедур рекомендуется осуществлять через Центр управления.

Чтобы настроить выполнение пользовательских процедур:

1.Выберите пункт Администрирование в главном меню Центра управления.

2.В открывшемся окне выберите пункт управляющего меню Пользовательские процедуры. Откроется окно настроек пользовательских процедур.

Дерево процедур

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

Изначально в дереве процедур представлены следующие предустановленные группы:

Examples of the hooks – содержит шаблоны всех доступных пользовательских процедур. На основе данных шаблонов вы можете создавать собственные пользовательские процедуры. Возможность редактирования и выполнения шаблонных процедур не предоставляется.

IBM Syslog – содержит шаблоны пользовательских процедур, используемых при интеграции с системой IBM Tivoli. События, соответствующие включенным процедурам, фиксируются в формате Syslog.

Все события пишутся в один файл по следующему пути:

для ОС Windows:
var\export\tivoli\syslog\drwcs_syslog.log

для OC FreeBSD:
/var/drwcs/export/tivoli/syslog/drwcs_syslog.log

для OC Linux:
/var/opt/drwcs/export/tivoli/syslog/drwcs_syslog.log

IBM W7Log – содержит шаблоны пользовательских процедур, используемых при интеграции с системой IBM Tivoli. События, соответствующие включенным процедурам, фиксируются в формате IBM W7Log XML.

Для каждого события создается отдельный файл по следующему пути:

для ОС Windows:
var\export\tivoli\w7log\<название_события>_<unix_timestamp>

для OC FreeBSD:
/var/drwcs/export/tivoli/w7log/<название_события>_<unix_timestamp>

для OC Linux:
/var/opt/drwcs/export/tivoli/w7log/<название_события>_<unix_timestamp>

Значок элемента дерева зависит от типа или состояния этого элемента (см. таблицу ниже).

Значки элементов дерева процедур

Значок

Описание

Группы процедур

Группа процедур, для которой разрешено выполнение процедур.

Группа процедур, для которой запрещено выполнение процедур.

Процедуры

Процедура, для которой разрешено выполнение.

Процедура, для которой запрещено выполнение.

Управление деревом процедур

Для управления объектами в дереве процедур используются следующие элементы панели инструментов:

– выпадающий список для добавления элемента дерева процедур:

Добавить процедуру – добавить новую пользовательскую процедуру.

Добавить группу процедур – создать новую пользовательскую группу для размещения в ней процедур.

Удалить выбранные объекты – удалить пользовательскую процедуру или группу, выбранную в дереве процедур.

Разрешить выполнение процедуры – аналогичное действие производится из редактора процедур при помощи установки флага Разрешить выполнение процедуры. См. также Активация процедур.

Запретить выполнение процедуры – аналогичное действие производится из редактора процедур при помощи снятия флага Разрешить выполнение процедуры. См. также Активация процедур.

Управление группами процедур

Чтобы создать новую группу:

1.На панели инструментов выберите Добавить группу процедур.

2.В открывшемся окне задайте следующие параметры:

Установите флаг Разрешить выполнение процедуры, чтобы активировать процедуры, которые будут входить в эту группу. См. также Активация процедур.

В поле Название группы задайте произвольное название для создаваемой группы.

3.Нажмите кнопку Сохранить.

Чтобы изменить порядок использования групп:

1.В дереве процедур перетащите (drag and drop) группу процедур и разместите ее в нужном порядке относительно других групп.

2.Порядок использования процедур автоматически изменится при изменении порядка групп: первыми будут выполняться процедуры из групп, расположенных выше в дереве процедур.

Чтобы переместить процедуру в другую группу:

1.В дереве процедур выберите процедуру, которую вы хотите переместить.

2.На открывшейся панели свойств, в выпадающем списке Родительская группа выберите группу, в которую необходимо переместить процедуру.

3.Нажмите кнопку Сохранить.

Управление процедурами

Чтобы добавить новую процедуру:

1.На панели инструментов выберите Добавить процедуру.

2.В открывшемся окне задайте следующие параметры:

Установите флаг Разрешить выполнение процедуры, чтобы активировать создаваемую процедуру. См. также Активация процедур.

В выпадающем списке Родительская группа выберите группу, в которой будет размещаться создаваемая процедура. В дальнейшем можно переместить процедуру в другую группу – см. выше.

В выпадающем списке Процедура выберите тип процедуры. Тип процедуры определяет действие, для которого будет вызываться данная процедура.

В поле Текст процедуры введите lua-скрипт, который будет выполняться при вызове данной процедуры.
В подразделе Информация о процедуре приводится событие, для которого будет вызываться данная процедура; информация о том, доступна ли база данных Сервера для данной процедуры; а также приводятся списки входных параметров и возвращаемых значений для данного типа процедуры.

3.Нажмите кнопку Сохранить.

Чтобы отредактировать процедуру:

1.В дереве процедур выберите процедуру, которую вы хотите отредактировать.

2.В правой части окна автоматически откроется панель свойств данной процедуры. Для редактирования доступны все параметры, которые задавались при создании процедуры, кроме параметра Процедура. Данный параметр определяет событие, для которого будет вызываться данная процедура, и не подлежит редактированию после создания процедуры.

3.Нажмите кнопку Сохранить.

Активация процедур

Активация процедур и групп процедур определяет, будут ли выполняться процедуры при наступлении соответствующего им события или нет.

Чтобы активировать процедуру или группу процедур:

1.В дереве процедур выберите процедуру или группу, которую вы хотите активировать.

2.Выполните одно из следующих действий:

На панели инструментов нажмите кнопку Разрешить выполнение процедуры.

В правой части окна на панели свойств выбранного объекта установите флаг Разрешить выполнение процедуры, если он снят. Нажмите кнопку Сохранить.

Особенности активации процедур:

Для того чтобы процедура выполнялась при наступлении соответствующего ей события, необходимо следующее:

a)должна быть активирована сама процедура;

b)должна быть активирована группа, в которую входит данная процедура.

Если группа процедур отключена, входящие в нее процедуры не будут выполняться, даже если сами они активированы.

При активации группы будут выполняться только те процедуры, которые сами непосредственно активированы.