Инструкция execute предназначена для указания системного execute-интерфейса, который описывает варианты запуска сущностей.
Вариант запуска сущности – метод интерфейса Kaspersky Security System, который вызывается при запуске сущности. Связывая варианты запуска сущности с политиками, можно инициализировать контекст безопасности различными способами.
Варианты запуска сущностей не связаны с точкой входа, которой по умолчанию является функция main.
Варианты запуска сущностей из указанного execute-интерфейса являются декларациями верхнего уровня: они видимы в пределах всего конфигурационного файла.
Каждый вариант запуска сущности описывается методом в системном execute-интерфейсе с помощью языка IDL.
В KasperskyOS Starter Kit используется execute-интерфейс execute.execute, который содержит один вариант запуска сущности – метод main без параметров.
Синтаксис
<execute-interface-entry> ::=
"execute" "=" <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();
}
В начало