Конфигурационные и исполняемые файлы, службы STAL
Общие сведения о конфигурационных файлах, исполняемых файлах и службах STAL
Для настройки и функционирования STAL используются конфигурационные и исполняемые файлы, перечисленные в таблице (см. таблицу Список конфигурационных и исполняемых файлов STAL).
Перечень и описание служб STAL приведено в таблице (см. таблицу Список и описание служб, процессов и утилит STAL).
| В большинстве случаев STAL не требует изменения конфигурационных файлов после установки. |
Параметры внутри конфигурационных JSON-файлах имеют следующую структуру:
{
"параметр": "значение",
"параметр": [ "значение 1", ..., "значение N" ],
"параметр": [ "значение 1", "%{значение 2}", ..., "значение N" ],
"параметр": [ "аргумент:%\{значение}" ]
}
Поля формата %{параметр} используются для подстановки служебных значений.
|
Целочисленные значения не заключаются в кавычки. |
| Файл | Описание | ||
|---|---|---|---|
Исполняемые файлы STAL |
|||
|
Скрипт для очистки всех журналов системы systemd а также утилиты |
||
|
Скрипт для сбора всех журналов работы STAL (см. подраздел Сбор журналов STAL для передачи в техническую поддержку) |
||
|
Скрипт для формирования |
||
|
Исполняемый файл процесса |
||
|
Исполняемый файл службы |
||
|
Исполняемый файл службы |
||
|
Исполняемый файл процесса |
||
|
Исполняемый файл службы |
||
|
Исполняемый файл процесса |
||
|
Исполняемый файл процесса |
||
|
Исполняемый файл процесса |
||
|
Скрипт для предварительной настройки и запуска графической оболочки, оконного менеджера. Запускается лидером сеанса |
||
Конфигурационные файлы STAL |
|||
|
Конфигурационный файл настройки списка разрешенных программ |
||
|
Конфигурационный файл настройки основных служб STAL |
||
|
Конфигурационный файл настройки ограничения используемых ресурсов пользователя |
||
|
Конфигурационный файл настройки определения свойств окон приложений, запускаемых в режиме доставки приложений (киоск) |
||
Конфигурационные файлы системы systemd |
|||
|
Конфигурационный файл настройки запуска службы |
||
|
Конфигурационный файл настройки запуска службы |
||
Конфигурационные файлы системы PAM |
|||
|
Конфигурационный файл настройки PAM при создании сеанса с обязательным требованием аутентификации пользователя перед созданием сеанса
|
||
|
Конфигурационный файл настройки PAM при создании сеанса для пользователя, который не может пройти аутентификацию перед созданием сеанса, например для схемы аутентификации с использованием Kerberos, OIDC или смарт-карт |
||
Конфигурационные файлы системы D-BUS |
|||
|
Конфигурационный файл для регистрации интерфейса ru.uveon.stal на системной шине D-BUS. Доступ к интерфейсу для управления возможен только для пользователей или процессов, включенных в группу
|
||
|
Конфигурационный файл регистрации интерфейса ru.uveon.stal.SessionManager на системной шине D-BUS. Доступ к интерфейсу для управления возможен только для системной учетной записи
|
||
Конфигурационные файлы утилиты |
|||
|
Конфигурационный файл настройки ротации журналов STAL |
||
Конфигурационные файлы сервера Xorg |
|||
|
Файл конфигурации драйвера для видео подсистемы сервера Xorg. WARNING: Изменять файл не рекомендуется. |
||
|
Файл конфигурации графического сервера Xorg |
||
Конфигурационные файлы службы ведения журналов |
|||
|
Конфигурационный файл настройки перенаправления журналирования для процесса
|
||
|
Конфигурационный файл настройки журналирования для службы |
||
|
Конфигурационный файл настройки журналирования для процесса |
||
|
Конфигурационный файл настройки журналирования для службы |
||
|
Конфигурационный файл настройки журналирования для процесса |
||
|
Конфигурационный файл настройки журналирования для процесса |
||
|
Конфигурационный файл настройки журналирования для процесса |
||
| Служба | Описание |
|---|---|
|
Служба, являющаяся адаптером для всех взаимодействий с внешним окружением (компонентом «Сессионный агент», подключающимися к сеансу RDP-клиентами). Служба работает с уровнем привилегии системной учетной записи Функции службы:
Последовательность обработки RDP-подключения:
|
|
Процесс, организующий работу сеанса пользователя и являющийся лидером сеанса. Порождается службой Функции процесса:
|
|
Служба, управляющая сеансами пользователей, является менеджером сеансов и работает с высоким уровнем привилегий для обеспечения возможности создания и управления лидерами сеансов Функции службы:
|
|
Процесс, реализующий доставку графического окружения пользователя, перенаправление каталогов, буфера обмена, аудио, видео, микрофона, принтера, смарт-карт, считывателей и др. Процесс использует реализацию протокола RDP в виде доработанных библиотек FreeRDP, поставляемых вместе с остальными компонентами STAL. Библиотеки FreeRDP, поставляемые в составе дистрибутива ОС, не используются. Выполняется в контексте процесса с уровнем привилегии пользователя. Функции процесса:
|
|
Процесс для работы с окнами приложений в режиме киоска |
|
Процесс для работы с миграциями конфигураций при обновлении со STAL версии 3.0.X |
|
Процесс для подсистемы печати |
|
Процесс для проверки корректности запуска и работы графического сервера Xorg |
| Лидер сеанса (session leader) - это процесс, идентификатор сеанса (SID) которого равен его собственному идентификатору (PID). Отвечает за создание сеанса и группировку связанных процессов. |
Файл stal-config.json
Файл /etc/stal/stal-config.json определяет параметры работы основных служб STAL, обеспечивающих запуск и останов графических сессий пользователя и реализующих основной функционал компонента.
Пример файла /etc/stal/stal-config.json:
{
"logger": {
"type": "systemd",
"level": "debug"
},
"runtime": {
"dir": "/run/stal",
"env": []
},
"xserver": {
"path": "/usr/bin/Xorg",
"args": [ "-config", "stal-xorg.conf", "-nolisten", "tcp" ],
"sock": "/tmp/.X11-unix/X%{display}"
},
"xsession": {
"path": "/usr/bin/fly-wm",
"args": []
},
"applications": {
"systems": true,
"config": "/etc/stal/stal-applications.json",
"ignores": [
"1cestart.desktop"
]
},
"pam": {
"auth": "stal-auth",
"noauth": "stal-trust"
},
"limits": {
"users": 200,
"sessions": 1000,
"clipboard": 0
},
"groups": {
"allow": [],
"xauth": "stal-xauth",
"sdbus": "stal-dbus"
},
"timeouts": {
"start": 15,
"seamless": 60,
"notconnected": 60,
"inactivity": 0,
"duration": 0,
"disconnect": 0,
"autoconnect": 10
},
"transport": {
"logger": {
"type": "default",
"level": "info"
},
"kerberos": {
"realm": "UVEON",
"keytab": "/etc/krb5.keytab"
},
"tcp": {
"listener": {
"port": 3389,
"host": "0.0.0.0",
"backlog": 5
},
"keepalive": {
"enable": true,
"delay": 5,
"retries": 3,
"interval": 2
}
},
"rdp": {
"shm": true,
"fps": 5,
"codecs": [
"+gfx-progressive",
"-gfx-rfx",
"-gfx-planar",
"-gfx-avc420",
"-gfx-avc444"
]
},
"redirects": {
"drive": true,
"print": true,
"smartcard": true,
"audio": false,
"microphone": false,
"videocam": false,
"vitamin": false,
"clipboard:server": true,
"clipboard:client": true,
"clipboard:file": true
},
"printers": [
{
"name": "Brother HL-1200 series",
"ppd": "brother-HL1200-cups-en.ppd"
},
{
"name": "Brother HL-1500 series",
"ppd": "brother-HL1500-cups-en.ppd"
}
]
},
"policies": {
"connection": "PrevReplace",
"notification": false
},
"options": {
"session:disconnected:freeze": false,
"desktop:scaling": false,
"device:scaling": false
}
}
Список доступных параметров конфигурационного файла /etc/stal/stal-config.json приведен в таблице (см. таблицу Описание параметров файла конфигурации stal-config.json).
|
Для упрощения записи параметров дочерних узлов дерева конфигурации в таблице используется синтаксис с разделителем
|
| Параметр | Значение по умолчанию | Назначение | ||
|---|---|---|---|---|
|
|
Тип системы для журналирования сообщений
|
||
|
|
Уровень отладочных сообщений для служб Возможные значения: |
||
|
|
Рабочий каталог сервиса STAL |
||
|
Не задано |
Пользовательские переменные окружения, которые будут доступны в сеансе. Допустимо применять шаблон Возможные переменные:
|
||
|
|
Путь запуска X11-сервера |
||
|
|
Список аргументов для X11-сервера
|
||
|
|
Шаблон формата для размещения сокета X11-сервера |
||
|
|
Путь для запуска оконного менеджера сеанса. Значение зависит от целевого дистрибутива. Значение по умолчанию приведено для ОС Astra Linux Special Edition |
||
|
Не задано |
Список аргументов для запуска оконного менеджера сеанса. Значение зависит от целевого дистрибутива. Значение по умолчанию приведено для ОС Astra Linux Special Edition |
||
|
|
Флаг для управления функцией выдачи списка опубликованных приложений. Значение |
||
|
|
Путь к файлу с конфигурацией опубликованных приложений, не описанных в |
||
|
|
Список имен приложений, игнорируемых для публикации. В значении параметра должен указываться |
||
|
|
Путь к файлу с описанием правил системы PAM, используемых при создании сеанса с обязательным требованием аутентификации пользователя перед этим |
||
|
|
Путь к файлу с описанием правил системы PAM, используемых при создании сеанса пользователя, который не может пройти аутентификацию перед этим. Например, для схемы аутентификации с использованием Kerberos, OIDC или смарт-карт |
||
|
|
Максимальное количество сеансов в режиме доставки приложений для одного пользователя |
||
|
|
Общее максимальное количество всех сеансов |
||
|
|
Размер буфера обмена в байтах. Значение |
||
|
|
Время ожидания (в секундах) запуска сеанса. По истечении указанного времени произойдет отказ создания сеанса |
||
|
|
Время жизни (в секундах) сеанса приложения после отключения транспорта. В течение этого времени:
|
||
|
Не задано |
Список групп пользователей, которым разрешена аутентификация на сервере STAL. Если список не задан, то аутентификация разрешена всем пользователям |
||
|
|
|||
|
|
|||
|
|
Время ожидания (в секундах) первого подключения к сеансу после его создания. По истечении указанного времени сеанс завершится |
||
|
|
Время жизни (в секундах) сеанса при бездействии. Значение |
||
|
|
Время (в секундах) продолжительности работы сеанса. Значение |
||
|
|
Время жизни (в секундах) сеанса доставки рабочего стола после отключения транспорта. Значение |
||
|
|
Время ожидания (в секундах) подключения транспорта. Применяется для совместимости с клиентами подключений, не идентифицировавшими запрос соединения в пакете |
||
|
|
Политика для нового подключения транспорта к сеансу с активным подключением. Возможные значения:
|
||
|
|
Включение или отключение политики для информирования пользователя в его сеансе через механизм всплывающих сообщений |
||
|
|
Системный параметр, менять значение не рекомендуется |
||
|
|
Включение или отключение поддержки масштабирования экрана в сеансе доставки рабочего стола |
||
|
|
Системный параметр, менять значение не рекомендуется |
||
Конфигурация секции |
||||
|
|
Уровень отладочных сообщений для процесса Возможные значения: |
||
|
|
Тип системы для журналирования сообщений
|
||
|
|
Область домена аутентификации Kerberos |
||
|
|
Путь к файлу ключей Kerberos для STAL. Для файла должно быть выдано разрешение на чтение для группы |
||
|
|
TCP-порт для подключения транспорта RDP |
||
|
|
IP-адрес (IPv4) интерфейса для сокета пролушивания входящих подключений. Значение |
||
|
|
Размер очереди (на уровне ядра ОС) для сокета пролушивания входящих подключений. При переполнении очереди соединение сбрасывается. STAL способен распределить обработку входящих соединений между 4 потоками, а также ставить обработку соединений в свою очередь для пула обрабатывающих потоков. Увеличивать значение не имеет практического смысла, поскольку очередь будет накапливаться только в случае высокой загрузки системы, но в этом случае функция очередей не исправит ситуацию |
||
|
|
Включение или отключение использования механизма |
||
|
|
Время простоя (в секундах) соединения, по истечении которого начнется передача проверочных TCP-пакетов (keepalive probes) |
||
|
|
Максимальное количество проверочных TCP-пакетов, отправляемыx перед сбросом соединения |
||
|
|
Время (в секундах) между отправками отдельных проверочных TCP-пакетов |
||
|
|
Включение или отключение поддержки расширения |
||
|
|
Максимальное количество кадров в секунду (FPS) для захвата, кодирования и доставки изображения рабочего стола или приложения. Реальное значение FPS в процессе работы зависит от пропускной способности канала и адаптируется в диапазоне значений от 1 до максимального:
Параметр непосредственно связан с ресурсами узла и его текущей загруженности.
Возможные значения: от 5 до 25 |
||
|
|
Список кодеков для декодирования изображения. Используется для процесса WARNING: Менять значения по умолчанию не рекомендуется. Изменение должно согласовываться с возможностями клиента подключений, системным окружением и самого STAL. |
||
|
|
Включение или отключение политики перенаправления каталогов |
||
|
|
Включение или отключение политики перенаправления принтеров |
||
|
|
Включение или отключение политики перенаправления смарт-карт |
||
|
|
Включение или отключение политики перенаправления аудио-вывода |
||
|
|
Включение или отключение политики перенаправления микрофона |
||
|
|
Включение или отключение политики перенаправления веб-камеры |
||
|
|
Включение или отключение политики перенаправления считывателя TouchMemory производства ООО «Фирма ИнфоКрипт» |
||
|
|
Включение или отключение политики разрешения перенаправления буфера обмена на сервер |
||
|
|
Включение или отключение политики разрешения перенаправления буфера обмена на клиент подключений |
||
|
|
Включение или отключение политики разрешения перенаправления файлов через буфер обмена на сервер |
||
|
|
Имя драйвера принтера, используемого пользователем |
||
|
|
Имя файла драйвера принтера, используемого пользователем |
||
Файл stal-kiosk.json
Файл /etc/stal/stal-kiosk.json предназначен для определения свойств окон приложений (см. рисунок Влияние stal-kiosk на поведение окна), запускаемых в режиме доставки приложений (киоск).
stal-kiosk на поведение окнаПример файла /etc/stal/stal-kiosk.json:
[
{
"wm:window:type": "dialog",
"wm:class": "1cv8*",
"wm:window:role": "GtkFileChooserDialog",
"frame": false,
"fullscreen": true
},
{
"wm:window:type": "dialog",
"wm:class": "1cv8*",
"frame": false,
"fullscreen": false
},
{
"wm:class": "xterm",
"frame": false,
"fullscreen": true
},
{
"wm:window:type": "normal",
"wm:class": "*",
"frame": false,
"fullscreen": true
},
{
"wm:window:type": "dialog",
"wm:class": "*",
"frame": true,
"fullscreen": false
}
]
Поведение окон, описанное в файле конфигурации /etc/stal/stal-kiosk.json, реализуется по тегам системной утилиты xprop. Список доступных параметров приведен в таблице (см. таблицу Описание параметров файла конфигурации stal_kiosk).
Для получения значения тега для определенного окна нужно:
-
запустить окно нужного приложения;
-
запустить утилиту
xpropиз интерфейса командной строки:
xprop
-
выбрать левой кнопкой мыши открытое окно, теги которого необходимо получить;
-
информация по тегам утилиты
xprop, назначенных для этого окна, отобразится в интерфейсе командной строки, пример:
WM_NAME(COMPOUND_TEXT) = "Домашняя - Менеджер файлов"
_NET_WM_NAME(UTF8_STRING) = "Домашняя - Менеджер файлов"
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x3200008
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
window id # of group leader: 0x3200008
WM_CLIENT_MACHINE(STRING) = "cl-00000"
_NET_WM_PID(CARDINAL) = 1721
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 52429217
WM_CLASS(STRING) = "fly-fm-service", "fly-fm-service"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_NORMAL_HINTS(WM_SIZE_HINTS):
user specified size: 1333 by 913
program specified minimum size: 182 by 219
window gravity: Static
| Параметр | Назначение |
|---|---|
|
Соответствует тегу Допустимые значения: «dialog», «utility», «splash», «menu», «popup_menu», «tooltip», «notification», «normal» |
|
Соответствует тегу |
|
Соответствует тегу |
|
Определяет реализуемое действие: использовать ( |
|
Определяет реализуемое действие: использовать ( |
| Главное окно приложения всегда запускается в полноэкранном режиме! |
Файл stal-constrains.json
Конфигурационный файл /etc/stal/stal-constrains.json предназначен для определения ограничений на используемые ресурсы сессий пользователя: памяти, процессора, количества процессов и задач, сети.
Для просмотра информации о конфигурационном файле используется команда:
man stal-constrains
Конфигурационный файл содержит секции:
-
"default": задает ограничения по умолчанию; -
"groups": задает ограничения пользователя, если он состоит в указанной группе; -
"users": задает ограничения пользователя.
Пример конфигурационного файла после установки STAL:
{
"default": {
"cpu:weight": 0,
"cpu:quota": 0,
"memory:high": "",
"memory:max": "",
"tasks:max": 0,
"network:deny": "",
"network:allow": ""
},
"groups": [
{
"name": "test-admins",
"limits": {
"cpu:weight": 0,
"cpu:quota": 0,
"memory:high": "",
"memory:max": "",
"tasks:max": 1024
}
},
{
"name": "test-users",
"limits": {
"cpu:weight": 0,
"cpu:quota": 20,
"memory:high": "2G",
"memory:max": "3G",
"tasks:max": 256
}
}
],
"users": [
{
"name": "vasyan",
"limits": {
"cpu:weight": 0,
"cpu:quota": 3,
"memory:high": "1G",
"memory:max": "2G",
"tasks:max": 128,
"network:deny": "any",
"network:allow": "localhost"
}
}
]
}
Список доступных параметров конфигурационного файла приведен в таблице (см. таблицу Описание параметров конфигурационного файла stal-constrains.json).
|
Для упрощения записи параметров дочерних узлов дерева конфигурации в таблице используется синтаксис с разделителем
|
Подробную информацию по используемым значениям параметров системы управления службами systemd можно получить по ссылке: https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html.
| Параметр | Назначение |
|---|---|
Секция |
|
|
Соответствует параметру «CPUWeight» в системе управления службами systemd. Значение по умолчанию: Разрешенные значения: от 1 до 10000. Значение |
|
Соответствует параметру «CPUQuota» в системе управления службами systemd. Значение указывается в процентах на одно ядро процессора. Значение |
|
Ограничение использования памяти выполняемыми процессами. Соответствует параметру «MemoryHigh» в системе управления службами systemd. Значение задается в байтах. Также могут быть использованы суффиксы:
Значение не задано: параметр и функциональность не используются |
|
Абсолютное ограничение использования памяти выполняемыми процессами. Соответствует параметру «MemoryMax» в системе управления службами systemd. Значения задаются аналогично параметру Значение не задано: функциональность не используется |
|
Максимальное количество задач, которые можно создать для сессии. Соответствует параметру «TasksMax» в системе управления службами systemd. Значение |
|
Соответствует параметру «IPAddressDeny» в системе управления службами В качестве значений можно указывать:
Значение не задано: функциональность не используется |
|
Соответствует параметру «IPAddressAllow» в системе управления службами systemd. Значения задаются аналогично параметру Значение не задано: функциональность не используется |
Секции |
|
|
Имя группы или пользователя, к которому будут применены ограничения |
|
Аналогично параметру |
|
Аналогично параметру |
|
Аналогично параметру |
|
Аналогично параметру |
|
Аналогично параметру |
|
Аналогично параметру |
|
Аналогично параметру |
Файл stal-applications.json
Конфигурационный файл /etc/stal/stal-applications.json предназначен для задания списка разрешенных приложений, не имеющих файлов .desktop в каталоге /usr/share/applications.
Для просмотра информации о конфигурационном файле используется команда:
man stal-applications
Параметры внутри файла /etc/stal/stal-applications.json имеют следующую структуру:
[
{
"name": "наименование приложения",
"path": "путь для запуска приложения" ,
"args": [ "аргумент запуска 1", ..., "аргумент запуска N" ],
}
]
Пример файла:
[
{
"name": "Midnight Commander",
"path": "/usr/bin/xterm",
"args": [ "-e", "/usr/bin/mc" ]
},
{
"name": "Firefox (Secondary Profile)",
"path": "/usr/bin/firefox",
"args": [ "--ProfileManager" ]
},
{
"name": "Chromium (Secondary Profile)",
"path": "/usr/bin/chromium",
"args": [ "--temp-profile" ]
}
]