Разрешения
Путь расположения
Путь в контейнере |
---|
|
Обзор
Определяет разрешения на использование различных ресурсов.
При отсутствии файла или ключа для некоего приложения, это приложение ведет себя в соответствии со своим дефолтным поведением.
По умолчанию файл отсутствует.
{ "allowed_nodes": [ { "node": str, "cookie": str }, ... ], "exec_perm": { "user": "root" | "domain" | "custom" "commands": array<str>, "domains": array<object> } }
allowed_nodes
Cодержит список нод которые следует разрешить к прямому подключению. Для каждой из них задается значение erlang cookie, который устанавливается для указанной ноды предварительно.
exec_perm
Содержит объект разрешений для прямого запуска процессов и приложений ОС (консольных) по абсолютному пути из сценариев компонентом "Запуск процесса".
По умолчанию выполнение внешних команд запрещено.
-
"user"
– содержит название режима, устанавливающего имя пользователя, от которого будет производиться запуск разрешенных приложений. По умолчанию"domain"
. Варианты значений:-
"root"
– приложение выполняется от имени пользователя "root". Если иное не указано в свойствах конкретного домена в списке"domains"
. -
"domain"
– приложение выполняется от пользователя с именем, совпадающем с именем домена, в котором исполняется сценарий. Если иное не указано в свойствах домена в списке"domains"
. -
"custom"
– приложение выполняется от имени пользователя, определенного в свойствах конкретного домена в списке "domains". В этом случае каждый домен, в котором указанные приложения разрешены к исполнению, должен быть указан в списке"domains"
, и у него должно быть задано значение в поле"user"
.
-
-
"commands"
– содержит набор разрешенных к выполнению команд (суть приложений). По умолчанию пустой список - ничего не разрешено к запуску компонентом "Запуск процесса". -
"domains"
– содержит набор доменов и их индивидуальных свойств. По умолчанию пустой список. Если домен, в котором исполняется сценарий, обнаруживается в списке доменов, то в качестве списка разрешенных к выполнению команд (приложений) берется список из поля"commands"
домена. А в качестве пользователя, от имени которого приложение исполняется – значение из поля"user"
домена, причем если там пусто, то значение из общего раздела.
{ "name": "DOMAIN_NAME", "user": "USER_NAME", "commands": array<str> }
-
name
– название домена. -
user
– имя пользователя ОС. -
commands
– набор разрешенных к выполнению команд.
[ "echo", "myprogram1", "/bin/myprogram2", ":SYNC/common/cmd/echo.sh", ":GLOBALSHARE/common/cmd/myprogram3" ]
В сценарии можно указать макро путь, либо любой путь. Макро путь приводится к общему макросу, прочие пути остаются без изменения. Результат должен обязательно содержаться в списке разрешенных команд. Также можно указать путь через команду 'bash', например 'bash :GLOBALSHARE_COMMON/cmd/myprogram3.sh'. В этом случае в разрешенных командах bash упоминать не следует, но следует упомянуть приведенный путь к самому bash-скрипту.'