Разрешения

Путь расположения

Путь в сборочном каталоге

/era_env/priv/permissions.json

Обзор

Определяет разрешения на использование различных ресурсов.

При отсутствии файла или ключа для некоего приложения, это приложение ведет себя в соответствии со своим дефолтным поведением.

Формат:
{
  "allowed_nodes": [
    {
      "node": str,
      "cookie": str
    },
    ...
  ],
  "exec_perm": {
    "user": "custom" | "root" | "domain"
    "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 – набор разрешенных к выполнению команд.