Инструкция execute (<execute-interface-entry>)

Инструкция execute предназначена для указания системного execute-интерфейса, который описывает варианты запуска сущностей.

Вариант запуска сущности – метод интерфейса Kaspersky Security System, который вызывается при запуске сущности. Связывая варианты запуска сущности с политиками, можно инициализировать контекст безопасности различными способами.

Варианты запуска сущностей не связаны с точкой входа, которой по умолчанию является функция main.

Варианты запуска сущностей из указанного execute-интерфейса являются декларациями верхнего уровня: они видимы в пределах всего конфигурационного файла.

Каждый вариант запуска сущности описывается методом в системном execute-интерфейсе с помощью языка IDL.

В KasperskyOS Starter Kit используется execute-интерфейс execute.execute, который содержит один вариант запуска сущности – метод main без параметров.

Синтаксис

<execute-interface-entry> ::=

"execute" "=" <full-interface-name> ";"

Элементы

<full-interface-name>

Полное имя интерфейса, описанного на языке IDL. Имеет следующий формат:

ИмяПакета.ИмяИнтерфейса

Пример

security.cfg

/* Использовать интерфейс IExecute в качестве системного execute-интерфейса. */

execute = PExecute.IExecute;

...

entity foo {

/* Разрешить запуск "foo" с помощью метода "main". */

execute call main = grant;

}

entity foo1 {

/* При запуске "foo1" с помощью метода "main" присвоить ей роль "some_role". */

execute call main [parent, self] = rbac_instance.setRole "some_role" (self);

}

...

PExecute.idl

package PExecute

/* Описание execute-интерфейса. */

interface IExecute{

main();

}

В начало