Опциональные настройки функционала для гостевой ОС РМ
Опциональные настройки выполняются для выполнения сценариев использования РМ, определенных в организации.
Автоматическое масштабирование экрана в ОС Astra Linux
Условия, при которых автоматическое масштабирование экрана должно работать при подключении пользователя к гостевой ОС Astra Linux:
-
для протокола SPICE: запущенный процесс
spice-vdagentв сессии пользователя. Дополнительно нужно выполнить настройку, описанную ниже, в том числе для экрана приветствия; -
для протокола TERA: запущенный процесс
tera-vdagentв сессии пользователя. Дополнительные настройки могут выполняться при установке TERA.
Для настройки автоматического масштабирования экрана для протокола SPICE нужно:
-
отредактировать файл
/etc/udev/rules.d/50-spice-vdagent.rules, создав правило дляudev:
ACTION=="change", KERNEL=="card0", SUBSYSTEM=="drm", RUN+="/usr/local/bin/x-resize"
-
перезапустить сервис
udevкомандой:
sudo systemctl restart udev
-
создать исполняемый файл
/usr/local/bin/x-resize:
Исполняемый файл x-resize поддерживает автоматическое масштабирование экрана ОС как в одномониторной, так и в многомониторной конфигурации.
|
#!/bin/sh
PATH=/usr/bin:/bin
LOG_FILE="/tmp/xrandr_script.log"
# Функция логирования
log_message() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE"
}
# Начало выполнения скрипта
log_message "Starting X11 display configuration script"
# Определение дисплея и пользователя графической сессии
desktopuser=""
display=""
log_message "Searching for active X11 sessions..."
session_ids=$(loginctl show-seat seat0 | grep Sessions= | cut -d'=' -f2)
log_message "Found session IDs: $session_ids"
for id in $session_ids
do
log_message "Checking session $id"
session_info=$(loginctl show-session $id --p Id --p Remote --p Name --p Type --p Class --p Active --p IdleHint --p LockedHint)
session_line=$(echo "$session_info" | tr '\n' ' ')
log_message "Session $id info: $session_line"
if echo "$session_line" | grep -E "Remote=no.*Class=(user|greeter).*(Active=yes|LockedHint=yes)" >/dev/null 2>&1
then
display="$(loginctl show-session $id --p Display | cut -d'=' -f2)"
desktopuser="$(loginctl show-session $id --p Name | cut -d'=' -f2)"
log_message "Found active session: user=$desktopuser, display=$display"
break
fi
done
# Проверка что есть DISPLAY и он один
if [ $(echo "$display" | tr -cd ':' | wc -c) -ne 1 ]; then
log_message "ERROR: No single DISPLAY X-session found or multiple displays detected"
exit 1
fi
# Установка найденного display-кода в переменную DISPLAY
export DISPLAY="$display"
log_message "Setting DISPLAY to: $DISPLAY"
# Определение auth
xauth=""
log_message "Searching for Xauth file..."
# Обработка процессов Xorg
xauth_candidates=$(pgrep -x Xorg | while read pid; do
/bin/ps -o cmd= -p $pid | awk -F "-auth" '{print $2}' | awk '{print $1}'
done)
log_message "Xauth candidates from Xorg processes: $xauth_candidates"
# Поиск xauth файла, точно соответствующего DISPLAY
found_xauth=""
display_num="${DISPLAY#:}"
log_message "Searching for xauth matching DISPLAY number: $display_num"
for candidate in $xauth_candidates; do
if [ -r "$candidate" ]; then
if echo "$candidate" | grep -q ":[^0-9]*\<${display_num}\>[^0-9]" ||
echo "$candidate" | grep -q ":[^0-9]*\<${display_num}\>$"; then
found_xauth="$candidate"
log_message "Found xauth exactly matching DISPLAY: $found_xauth"
break
fi
fi
done
if [ -z "$found_xauth" ]; then
log_message "No xauth file found matching DISPLAY $DISPLAY in Xorg processes"
fi
xauth="$found_xauth"
# Если не нашли в процессах, пробуем домашнюю директорию пользователя
if [ -z "$xauth" ] || [ ! -r "$xauth" ]; then
if [ -n "$desktopuser" ]; then
user_home=$(eval echo "~$desktopuser")
xauth="$user_home/.Xauthority"
log_message "Trying user Xauth file: $xauth"
fi
fi
# Финальная проверка доступности xauth
if [ -z "$xauth" ] || [ ! -r "$xauth" ]; then
log_message "ERROR: Cannot access xauth file: $xauth"
exit 1
fi
export XAUTHORITY=$xauth
log_message "Setting XAUTHORITY to: $XAUTHORITY"
# Применение xrandr ко всем подключенных мониторам
log_message "Starting monitor configuration..."
connected_monitors=$(xrandr | awk '/ connected/ {print $1}')
log_message "Found connected monitors: $connected_monitors"
if [ -z "$connected_monitors" ]; then
log_message "ERROR: No connected monitors found"
exit 1
fi
for monitor in $connected_monitors; do
log_message "Configuring monitor: $monitor"
if xrandr --output "$monitor" --auto; then
log_message "Successfully configured monitor: $monitor"
else
log_message "ERROR: Failed to configure monitor: $monitor"
fi
done
log_message "X11 display configuration completed successfully"
-
сделать файл исполняемым:
sudo chmod +x /usr/local/bin/x-resize
Для масштабирования экрана приветствия для протокола SPICE выполнить:
-
заблокировать автостарт
kscreen, переименовав расширение или удалив данные файлы из указанных директорий:/usr/share/fly-dm/autostart/greeter/kscreend_autostart.desktop,/usr/share/fly-dm/preload/greeter/kscreend_preload.desktop; -
сделать символьную ссылку на ярлык для автозапуска
spice-vdagentдля экрана приветствия:
sudo ln -s /etc/xdg/autostart/spice-vdagent.desktop /usr/share/fly-dm/autostart/greeter/spice-vdagent.desktop
-
перезапустить процесс
fly-dmкомандой:
sudo systemctl restart fly-dm
Если файл /usr/bin/fly-monitor-hotplug.sh не является исполняемым или удален, то на экране приветствия масштабирование не выполняется.
|
Ограничение числа интерактивных сессий на РМ
Termidesk поддерживает ограничение числа сессий пользователя, подключенного к РМ:
-
для терминальных сессий Метапоставщика ограничение задается на этапе создания или редактирования сервисного фонда;
-
для ВРМ и автономных машин число сессий ограничено одной. При этом для ОС Linux должна быть выполнена настройка модуля
PAM(см. подраздел Настройка модуляPAMбез монтирования перемещаемых профилей). Ограничение применяется после прохождения аутентификации пользователя на РМ и выполняется в следующей последовательности:-
пользователь аутентифицируется на сервере Termidesk;
-
пользователь аутентифицируется в гостевой ОС РМ;
-
модуль
PAMвыполняет аутентификацию и авторизацию по модулям, включая модуль «Агента виртуального рабочего места» -pam_tdsk; -
модуль
pam_tdskполучает значения, ограничивающие число сессий, у «Агента виртуального рабочего места»; -
модуль
pam_tdskполучает фактическое количество активных сессий в ОС; -
в зависимости от полученных и фактических значений подключение пользователя будет разрешено или запрещено.
-
Настройка вызова виртуальной клавиатуры в ОС Astra Linux
Настройка позволяет отображать виртуальную клавиатуру в гостевой ОС Astra Linux. Это нужно для случаев, когда ОС не реагирует на передачу данных с физической клавиатуры пользовательской рабочей станции.
Для настройки отображения виртуальной клавиатуры нужно:
-
в графическом интерфейсе ОС Astra Linux перейти «Звезда - Панель управления - Рабочий стол» и выбрать ярлык «Горячие клавиши Fly» (см. рисунок Расположение ярлыка «Горячие клавиши Fly»);
-
в окне «Редактор горячих клавиш Fly» выбрать список «Клавиши для приложений» и нажать экранную кнопку [+] (см. рисунок Добавление команды вызова виртуальной клавиатуры);
-
в окне «Выбор команды» ввести команду вызова виртуальной клавиатуры
fly-vkbdи нажать экранную кнопку [Да] (см. рисунок Ввод команды вызова виртуальной клавиатуры);
-
выделить созданное действие, в области «Выберите клавишу для данного действия» выбрать параметр «Назначить», нажать сочетание клавиш <Win> + <Ctrl> + <O> и нажать экранную кнопку [Применить] (см. рисунок Назначение сочетания клавиш вызова виртуальной клавиатуры).
Настройки для перенаправления принтеров
Для перенаправления принтера должны быть выполнены условия:
-
в ОС пользовательской рабочей станции должен быть добавлен нужный принтер. Поддерживается перенаправление программных принтеров (например, программный виртуальный принтер PDF/XPS);
-
в гостевой ОС РМ должен быть установлен нативный драйвер используемого принтера. При перенаправлении принтера в РМ через ПО Termidesk Viewer будет использован соответствующий драйвер:
-
«generic raw» - если печать будет выполняться в STAL или ВРМ;
-
нативный драйвер - при использовании полного функционала принтера;
-
-
при использовании терминального сервера MS RDSH нужно разрешить перенаправление принтера в групповых политиках. Для этого:
-
открыть редактор групповой политики;
-
перейти «Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Узел сеансов удаленных рабочих столов - Перенаправление принтеров» («Computer Configuration - Administrative Templates - Windows Components - Remote Desktop Services - Remote Desktop Session Host - Printer Redirection» в английской локализации);
-
задать параметру «Не разрешать перенаправление для клиентского принтера» значение «Отключена» («Do not allow client printer redirection» значение «Disabled» в английской локализации).
-
| По умолчанию добавление принтера в гостевую ОС РМ не требуется. |
Ручное добавление принтера может быть выполнено одним из способов:
-
через существующую в гостевой ОС оснастку (например, «Менеджер печати Fly» для ОС Astra Linux Special Edition);
-
через веб-интерфейс службы CUPS (для гостевой ОС Linux).
Для ручного добавления принтера через веб-интерфейс службы CUPS нужно:
-
открыть в браузере URL-адрес: http://127.0.0.1:631/;
-
перейти во вкладку «Администрирование». Выбрать пункт «Добавить принтер» и авторизоваться, использовав логин и пароль для входа в гостевую ОС;
-
доступные принтеры будут отображены в списке «Найденные сетевые принтеры» (см. рисунок Список найденных сетевых принтеров). Выбрать принтер для добавления;
-
убедиться, что в строке «Подключение» (см. рисунок Проверка URL) адрес начинается с «tdsk-prt»;
| Настройка «tdsk-prt» актуальна при подключении по протоколу SPICE. |
-
выбрать модель принтера из списка (см. рисунок Выбор модели принтера) или использовать файл драйвера принтера PPD;
-
завершить добавление принтера.
Если список «Найденные сетевые принтеры» пуст:
| Настройка актуальна при подключении по протоколу SPICE. |
-
выбрать значение «Termidesk Virtual Printer» в списке «Другие сетевые принтеры» (см. рисунок Выбор другого сетевого принтера);
-
перейти к интерфейсу командной строки (открыть программу «Терминал Fly») и выполнить:
cd /usr/lib/cups/backend
sudo ./tdsk-prt
-
выбрать адрес нужного принтера и скопировать его в поле «Подключение» в браузере;
-
завершить добавление принтера аналогично описанию выше, когда список «Найденные сетевые принтеры» содержал записи.
Добавленный принтер должен отобразиться в менеджере печати (например, «Менеджер печати Fly») гостевой ОС.
При перенаправлении принтера из пользовательской рабочей станции на ОС Microsoft Windows в ВРМ на ОС Microsoft Windows доступны следующие конфигурации драйверов:
| Настройка актуальна при подключении по протоколу RDP. |
-
использование нативных драйверов: установка нативных драйверов на пользовательской рабочей станции и ВРМ позволяет использовать весь функционал принтера, включая двустороннюю печать. Для корректного перенаправления принтера версии драйверов должны совпадать;
-
использование универсального драйвера Microsoft Software Printer Driver: универсальный драйвер позволяет избежать установки драйверов для каждого принтера. При этом драйвер поддерживает только одностороннюю печать.
Для использования универсального драйвера на пользовательской рабочей станции с установленным ПО Termidesk Viewer нужно создать переменную окружения TDSK_RDP_PRT_UNIVERSAL. Для перенаправления принтера с использованием нативного драйвера переменную нужно удалить.
|
Настройка перенаправления каталога из пользовательской рабочей станции в РМ
Перенаправление каталога из пользовательской рабочей станции в РМ работает для протоколов SPICE, TERA и RDP. При этом:
-
для протоколов RDP и TERA:
-
для ВРМ и терминального сервера STAL дополнительная настройка не выполняется;
-
для терминального сервера MS RDSH выполняется дополнительная настройка, как приведено ниже;
-
-
для протокола SPICE выполняется дополнительная настройка гостевой ОС ВРМ, как приведено ниже;
-
управление возможностью перенаправления осуществляется через политику «Перенаправление дисков и папок (RDP, SPICE, TERA)».
|
Для протокола TERA, установленного в ОС Linux необходимо убедиться, что в гостевой ОС соответствующие службы запущены:
|
Для гостевой ОС Astra Linux Special Edition:
-
должны быть установлены пакеты
spice-webdavd,davfs2,autofs:
sudo apt install -y spice-webdavd davfs2 autofs
-
должны быть запущены службы
spice-webdavd.serviceиautofs.service:
sudo systemctl status spice-webdavd.service autofs.service
-
далее создать каталог для монтирования:
sudo mkdir /media/davfs
-
создать файл
/etc/auto.master.d/spice-webdav.autofsследующего содержания:
/- /etc/auto.master.d/auto.localwebdav.mount
где:
/- - опция, указывающая утилите autofs выполнять монтирование по существующему пути вместо автоматического создания подкаталогов в корневой точке монтирования;
-
создать файл
/etc/auto.master.d/auto.localwebdav.mountследующего содержания:
/media/davfs -fstype=davfs,rw,dir_mode=0777,file_mode=666 :http\://localhost\:9843
где:
/media/davfs - каталог, в который будет происходить монтирование;
-fstype=davfs,rw - тип смонтированной файловой системы с правами на чтение и запись в нее (rw);
dir_mode=0777,file_mode=666 - права, с которыми будут доступны файлы и каталоги. Рекомендуется не менять указанные значения для исключения случаев монтирования файловой системы от пользователя root и недоступности файлов при подключении через программу доставки РМ (ПО Termidesk Viewer);
-
отредактировать файл
/etc/davfs2/secrets, добавив строку:
"http://localhost:9843/" "" ""
где:
http://localhost:9843/ - место размещения файловой системы, по которому определяется устройство хранения для монтирования;
"" "" - логин и пароль пользователя, по умолчанию пусты для утилиты spice-webdav;
-
перезапустить службу автоматического монтирования:
sudo systemctl restart autofs
Для гостевой ОС РЕД:
-
установка пакетов
spice-webdavd,davfs2,autofsвыполняется через пакетный менеджерdnf:
sudo dnf install -y spice-webdavd davfs2 autofs
-
остальные настройки перенаправления каталога по протоколу SPICE выполняются аналогично настройкам, приведенным для ОС Astra Linux Special Edition.
Для гостевой ОС Microsoft Windows:
-
для ВРМ должен быть установлен пакет
spice-webdavd(доступ: https://www.spice-space.org/download/windows/spice-webdavd/spice-webdavd-x64-latest.msi); -
для терминального сервера MS RDSH должен быть установлен модуль WebDAV Redirector. Установка выполняется через мастер добавления ролей и компонентов в ОС Misrosoft Windows Server. Для этого:
-
открыть мастер добавления ролей и компонентов;
-
в разделе «Компоненты» выбрать «Перенаправитель WebDAV»;
-
нажать экранную кнопку [Установить];
-
-
для терминального сервера MS RDSH нужно скорректировать ограничение на размер копируемых файлов (по умолчанию 50 МБ). Для этого:
-
перейти в реестре по пути
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters; -
задать параметру
FileSizeLimitInBytesнужный размер (в байтах).
-
После установки пакета в гостевой ОС Microsoft Windows произойдет следующее:
-
будет добавлен сетевой диск;
-
перенаправляемый каталог будет монтироваться в добавленный сетевой диск.
Перенаправление видеокамеры
Перенаправление видеокамеры позволяет передать по сети сжатое алгоритмом кодирования видео от устройств видеозахвата, подключенных к USB-шине пользовательской рабочей станции, на удаленное устройство, такое как ВРМ или терминальный сервер.
Виртуальная видеокамера определяется как видеоустройство веб-браузерами, программами видеоконференцсвязи, диагностическими утилитами и иными программами, работающими с устройствами захвата видео.
Для реализации функционала перенаправления видеокамеры:
-
в гостевую ОС РМ должен быть установлен компонент «Видеоагент»;
-
пользователю необходимо использовать специализированный клиент подключений - ПО Termidesk Viewer.
Возможность перенаправления видеокамеры определяется политикой «Перенаправление веб-камеры (RDP, SPICE, TERA)».
Перенаправление смарт-карты
Перенаправление смарт-карты позволяет передать подключенную к USB-шине пользовательской рабочей станции смарт-карту на удаленное устройство, такое как ВРМ или терминальный сервер.
Виртуальная смарт-карта определяется диагностическими утилитами и иными программами, работающими с устройствами подобного типа.
Для реализации функционала перенаправления смарт-карт:
-
в гостевой ОС РМ должен быть установлен компонент «Агент виртуальных смарт-карт»;
-
пользователю необходимо использовать специализированный клиент подключений - ПО Termidesk Viewer.
Возможность перенаправления смарт-карт определяется политикой «Перенаправление смарт-карт (RDP, SPICE, TERA)».
Аутентификация пользователей через носитель TouchMemory
Компонент «Клиент» Termidesk поддерживает аутентификацию пользователя через носитель TouchMemory, а именно - через программный продукт «Сетевой модуль ТМ-аутентификации WinNET» производства ООО «Фирма ИнфоКрипт».
Поддерживаемые ОС:
-
для пользовательской рабочей станции: ОС Microsoft Windows, Debian (только с графическим окружением GNOME);
-
для ВРМ: ОС Microsoft Windows.
Для реализации функционала администратору необходимо установить в гостевую ОС ВРМ:
-
ПО WinNET 3.1, при установке выбрать значение «Сервер с MsTS»;
-
ПО Vitamin (сервер).
Функционал перенаправления часового пояса и синхронизации времени в РМ
Termidesk поддерживает перенаправление часового пояса из пользовательской рабочей станции в РМ и синхронизацию времени между ними. Это происходит при создании пользовательской сессии: если функционал активирован, то при подключении пользователя из другого часового пояса время в его сессии не будет отличаться от локального времени пользовательской рабочей станции.
Функционал поддерживается для протоколов:
-
RDP;
-
TERA;
-
SPICE.
Для работы функционала необходимо, чтобы:
-
была активирована политика «Автоматический вход в систему при подключении к РМ (RDP, SPICE, TERA)». «Агент виртуального рабочего места» получит значение временной зоны из запроса SSO и выставит его при создании пользовательской сессии;
-
для гостевой ОС Linux были выполнены настройки, приведенные ниже. Для ОС Microsoft Windows дополнительная настройка не требуется.
Управление перенаправлением часового пояса осуществляется политикой «Перенаправление часового пояса пользователя (RDP, TERA)».
Для работы механизма перенаправления часового пояса в ВРМ на базе ОС Linux необходимо выполнить настройку модуля PAM (pam_tdsk) в гостевой ОС. Для этого:
-
убедиться, что выполнена подготовка базового ВРМ;
-
создать файл
/usr/share/pam-configs/pam_tdskсо следующим содержимым:
Name: Termidesk PAM Timezone
Default: yes
Priority: 900
Session-Type: Additional
Session:
optional pam_exec.so quiet /usr/bin/pam_tdsk --setenvonly
optional pam_env.so user_readenv=1
-
выполнить обновление профилей модуля
PAM:
sudo pam-auth-update
-
убедиться, что в файле
/etc/pam.d/common-sessionпоявились строки с модулемpam_tdsk:
session optional pam_exec.so quiet /usr/bin/pam_tdsk --setenvonly
session optional pam_env.so user_readenv=1
Функционал выполнения скриптов в РМ
Функционал выполнения скриптов в РМ позволяет автоматизировать задачи, связанные с развертыванием РМ.
Скрипты размещаются в сетевом хранилище и запрашиваются при инициализации компонента «Агент виртуального рабочего места». Компонент должен иметь права на чтение каталога хранилища скриптов для корректного получения файлов и их выполнения на РМ.
| Функционал передачи скриптов будет работать, если компоненты «Агент виртуального рабочего места» и «Универсальный диспетчер» настроены на взаимную аутентификацию по протоколу mTLS. |
Поддерживаемые типы хранилищ скриптов перечислены в таблице (см. таблицу Список поддерживаемых хранилищ скриптов).
| ОС РМ | Список поддерживаемых хранилищ скриптов |
|---|---|
Linux |
|
Microsoft Windows |
|
Для работы функционала нужно:
-
убедиться, что выполнена подготовка базового ВРМ. Дополнительные настройки в ОС Microsoft Windows не требуются. В ОС Linux пакеты
nfs-utilsиsmbclientявляются рекомендуемыми зависимостями компонента «Агент виртуального рабочего места» и по умолчанию устанавливаются в ОС. Если пакеты отсутствуют в репозитории ОС, нужновыполнить настройки, приведенные ниже; -
для возможности получения скриптов из NFS-хранилища установить пакет
nfs-client:
sudo apt install nfs-client
-
запустить службу
rpc-statd:
sudo systemctl start rpc-statd
-
проверить монтирование каталога сетевого хранилища, выполнив:
mount -t nfs -o ro,soft nfs.termidesk.local:/var/scripts /tmp/scripts
где:
-t nfs - тип файловой системы сетевого хранилища;
-o ro,soft - монтирование каталога сетевого хранилища в режиме «только чтение» с мягкой обработкой ошибок;
nfs.termidesk.local:/var/scripts - IP-адрес или FQDN сетевого хранилища с указанием монтируемого каталога;
/tmp/scripts - каталог для монтирования файловой системы сетевого хранилища в РМ.
-
для возможности получения скриптов из SMB-хранилища установить пакет
smbclient:
sudo apt install smbclient
-
проверить получение скрипта из SMB-хранилища, выполнив:
/usr/bin/smbclient //smb.termidesk.local/scripts -N -c 'get demo.sh /var/termidesk/scripts/demo.sh'
где:
//smb.termidesk.local/scripts - путь к каталогу хранения скриптов на сетевом хранилище;
-N - флаг, отключает запрос данных для подключения к SMB-хранилищу;
-c 'get demo.sh /var/termidesk/scripts/demo.sh' - команда получает скрипт demo.sh и сохраняет его в каталог /var/termidesk/scripts/.
Настройка модуля PAM без монтирования перемещаемых профилей
Настройка модуля PAM (pam_tdsk) необходима для изменения конфигурации системы аутентификации, что требуется, например, при включении политики фонда РМ «Подключение с отличающимся именем пользователя».
Для настройки модуля PAM в гостевой ОС базового ВРМ нужно:
-
выполнить подготовку базового ВРМ;
-
создать файл
/usr/share/pam-configs/pam_tdskсо следующим содержимым:-
если требуется аутентификация через файл паролей
/etc/htpasswd:Name: Termidesk PAM Default: yes Priority: 901 Auth-Type: Primary Auth: sufficient pam_exec.so expose_authtok quiet /usr/bin/pam_tdsk --htpasswd /etc/htpasswd -
в остальных случаях:
Name: Termidesk PAM Default: yes Priority: 901 Session-Type: Additional Session: required pam_exec.so quiet /usr/bin/pam_tdsk
-
-
выполнить обновление профилей
PAM:
sudo pam-auth-update
-
убедиться, что в соответствующих файлах появилась строка с модулем
pam_tdsk:-
если использовался файл паролей
/etc/htpasswd, то строка появится в/etc/pam.d/common-auth:auth sufficient pam_exec.so expose_authtok quiet /usr/bin/pam_tdsk --htpasswd /etc/htpasswd -
в остальных случаях строка появится в файле
/etc/pam.d/common-session:
-
session required pam_exec.so quiet /usr/bin/pam_tdsk
Настройка аутентификации пользователей ВРМ через файл
Действия по настройке аутентификации пользователей ВРМ через файл паролей сводятся к следующей последовательности шагов, выполняемых в гостевой ОС:
-
задание файла для хранения паролей в модуле PAM;
-
включение механизма автоматической авторизации в гостевую ОС. Механизм автоматической авторизации включается аналогично подразделу Настройка технологии единого входа в гостевой ОС ВМ для протокола SPICE.
| Termidesk интегрирован со встроенным комплексом средств защиты информации ОС Astra Linux Special Edition. Идентификация и аутентификация, а также защита аутентификационной информации осуществляется средствами ОС. |
Для задания файла хранения паролей в модуле PAM нужно отредактировать файл /etc/pam.d/fly-dm, добавив следующую строку перед секцией @include common-auth:
auth sufficient pam_exec.so expose_authtok quiet /usr/bin/pam_tdsk --htpasswd /etc/htpasswd
Где /etc/htpasswd - путь к файлу с парами «логин:пароль» пользователей, имеющих право на автоматический вход в сессию.
Пример файла /etc/pam.d/fly-dm:
#%PAM-1.0
auth required pam_parsec_mac.so
auth requisite pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
auth sufficient pam_exec.so expose_authtok quiet /usr/bin/pam_tdsk --htpasswd /etc/htpasswd
@include common-auth
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
session required pam_parsec_mac.so unshare_root_only
session required pam_limits.so
session required pam_loginuid.so
@include common-account
account required pam_parsec_mac.so labelselect=appset
@include common-session
session required pam_parsec_cap.so
session required pam_parsec_aud.so
session required pam_parsec_mac.so
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
@include common-password
Технология единого входа
Настройка технологии единого входа в гостевой ОС ВМ для протокола SPICE
Технология единого входа (автоматической авторизации) пользователя в гостевую ОС для протокола SPICE работает для:
-
ОС Astra Linux Special Edition. При этом начиная с Termidesk версии 4.3 достаточно только включить механизм автоматической авторизации в гостевую ОС, как написано ниже;
-
ОС Microsoft Windows. При этом необходимо установить пакет переносимых библиотек из состава Visual Studio C++ в гостевую ОС: https://aka.ms/vs/17/release/vc_redist.x64.exe.
Технология управляется политикой фонда РМ «Автоматический вход в систему при подключении к РМ (RDP, SPICE, TERA)».
Механизм автоматической авторизации в ОС Linux может быть включен через задание переменной DM_LOGIN_AUTOMATION со значением 1 в файле /lib/systemd/system/fly-dm.service.
Активация автоматической авторизации в ОС Linux влияет на настройку автоматического масштабирования экрана. Поэтому после активации этого механизма нужно проверить значение переменной окружения DISPLAY и скорректировать файл /usr/local/bin/x-resize, указав правильное значение для нее (см. подраздел Автоматическое масштабирование экрана в ОС Astra Linux).
Пример файла:
[Unit]
Description=The FLY login manager
#replaces getty
#Conflicts=getty@tty1.service
#After=getty@tty1.service
#replaces plymouth-quit since it quits plymouth on its own
#Conflicts=plymouth-quit.service
#After=plymouth-quit.service
After=rc-local.service plymouth-start.service dbus.service systemd-user-sessions.service libflygetexe-bin.service
#resposible for plymouth stopping, so if fails then make sure plymouth still stop
OnFailure=plymouth-quit.service
[Service]
ExecStartPre=/bin/bash -c /usr/bin/fly-dm-prepare.sh
ExecStart=/usr/bin/fly-dm vt7
IgnoreSIGPIPE=no
EnvironmentFile=-/etc/default/locale
Environment="DM_LOGIN_AUTOMATION=1"
[Install]
Alias=display-manager.service
После включения автоматической авторизации необходимо выполнить перезапуск конфигурации загруженных модулей:
sudo systemctl daemon-reload
Настройка технологии единого входа в гостевой ОС ВМ для протокола TERA
Технология единого входа (автоматической авторизации) пользователя в гостевую ОС для протокола TERA работает для:
-
ОС Astra Linux Special Edition. При этом достаточно только включить механизм автоматической авторизации в гостевую ОС аналогично протоколу SPICE. Технология управляется политикой фонда РМ «Автоматический вход в систему при подключении к РМ (RDP, SPICE, TERA)»;
-
ОС Microsoft Windows. Для использования технологии нужно:
-
активировать параметр
TERA_CRED_PROVIDERв каталоге реестраHKEY_LOCAL_MACHINE\SOFTWARE\UVEON\Termidesk TERA(см. подраздел Каталог реестраHKEY_LOCAL_MACHINE\SOFTWARE\UVEON\Termidesk TERAдокумента СЛЕТ.10001-01 90 09 «Руководство администратора. Настройка компонента TERA»); -
политике фонда РМ «Автоматический вход в систему при подключении к РМ (RDP, SPICE, TERA)» присвоить значение «Включен».
-
Настройка технологии единого входа в гостевой ОС ВМ для протокола RDP
Технология единого входа (автоматической авторизации) пользователя в гостевую ОС для протокола RDP поддерживается средствами самого протокола.
Автоматический вход включается для RDP при использовании хотя бы одного из условий:
-
использование функционала PKINIT (аутентификация по смарт-карте) в свойствах домена аутентификации;
-
использование в политике «Аутентификация на уровне сети (RDP)» значения «NLA» или «TLS».
Активация технологии единого входа на терминальном сервере MS RDS
Для включения SSO на MS RDS необходимо выполнить следующую последовательность шагов:
-
на контроллере домена MS AD создать групповую политику с названием SSO;
-
в созданную групповую политику внести следующие изменения:
-
в редакторе групповой политики перейти «Конфигурация компьютера - Административные шаблоны - Система - Передача учетных данных», выбрать параметр «Разрешить передачу учетных данных, установленных по умолчанию» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local», где
disp.termidesk.local- имя узла с «Универсальным диспетчером» Termidesk. Далее нажать экранные кнопки [ОК] и [Применить] (см. рисунок Редактирование параметра «Разрешить передачу учетных данных, установленных по умолчанию» групповых политик); -
в этом же списке выбрать параметр «Разрешить передачу новых учетных данных с проверкой подлинности сервера «только NTLM» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local». Далее нажать экранные кнопки [ОК] и [Применить];
-
в редакторе групповой политики перейти «Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Клиент подключения к удаленному рабочему столу», выбрать параметр «Запрашивать учетные данные на клиентском компьютере» и присвоить ему значение «Отключено».
-
По умолчанию время гарантированного автоматического применения изменений соответствует интервалу 90 – 120 минут после обновления файлов групповых политик на контроллере домена. Если необходимо форсировать применение политики, то на контроллере домена, MS RDS и рабочих станциях пользователей необходимо выполнить команду gpupdate /force.
Настройка технологии единого входа для Kerberos-аутентификации
Единый вход для Kerberos-аутентификации поддерживается для сценариев домена MS AD:
-
протокол RDP:
-
подключение из ОС Astra Linux Special Edition в гостевую ОС Microsoft Windows, терминальный сервер MS RDSH, терминальный сервер STAL;
-
подключение из ОС Microsoft Windows в гостевую ОС Microsoft Windows, терминальный сервер MS RDSH, терминальный сервер STAL;
-
-
протокол TERA:
-
подключение из ОС Astra Linux Special Edition в гостевую ОС Astra Linux Special Edition;
-
подключение из ОС Microsoft Windows в гостевую ОС Astra Linux Special Edition.
-
|
Работа для гостевой ОС Astra Linux Special Edition 1.7 (в частности 1.7.8) не гарантируется ввиду отсутствия в составе репозитория модуля проверки подлинности пользователя с помощью GSSAPI совместно с SSSD ( Настройка TERA для Kerberos-аутентификации приведена в подразделе Kerberos-аутентификация документа СЛЕТ.10001-01 90 08 «Руководство администратора. Настройка компонента TERA». Настройка терминального сервера STAL для Kerberos-аутентификации приведена в подразделе Kerberos-аутентификация в STAL документа СЛЕТ.10001-01 90 07 «Руководство администратора. Настройка компонента «Сервер терминалов». |
Для корректной аутентификации гостевая ОС:
-
должна быть введена в соответствующий домен аутентификации Kerberos, используемый в ферме Termidesk и указанный в «Портале администратора». Настройка ввода в домен осуществляется из «Параметров гостевых ОС» в «Портале администратора»;
-
должна быть предварительно настроена согласно описанию ниже.
Технология единого входа управляется политикой «Автоматический вход в систему при подключении к РМ (RDP, SPICE, TERA)».
Для гостевой ОС Astra Linux Special Edition 1.8:
-
убедиться, что в файле конфигурации службы
sssd(/etc/sssd/conf.d/*.conf) заданы строки в секции настроек домена (если строк нет, то добавить):
ad_gpo_access_control = permissive
ad_gpo_ignore_unreadable = True
pam_gssapi_services = fly-dm
-
убедиться, что в файле профиля PAM
/etc/pam.d/fly-dmзадана строка перед@include common-auth(если ее нет, то добавить):
auth sufficient pam_sss_gss.so
Для гостевой ОС Microsoft Windows (в том числе для терминального сервера MS RDSH) нужно настроить делегирование учетных данных:
-
либо через групповую политику:
-
открыть редактор групповой политики;
-
перейти «Конфигурации компьютера - Административные шаблоны - Система - Передача учетных данных («Computer Configuration - Administrative Templates - System - Credentials Delegation» в английской локализации);
-
задать параметру «Удаленный узел позволяет делегирование неэскортируемых учетных данных» значение «Включена» («Remote host allows delegation of nonexportable credentials» значение «Enabled» в английской локализации);
-
-
либо через реестр ОС Microsoft Windows, если настройка групповой политики по каким-либо причинам не применима:
-
открыть реестр и перейти к
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa; -
назначить параметру
DisableRestrictedAdminзначение0(типREG_DWORD).
-
Перемещаемые профили
Общие сведения по перемещаемым профилям
Перемещаемый профиль - это средство для сохранения настроек и документов пользователя между сеансами работы в РМ. Он представляет собой образ диска или каталога с пользовательскими данными и настройками РМ.
В зависимости от ОС РМ реализация перемещаемых профилей может различаться:
-
ПК СВ Брест (ОС Astra Linux Special Edition): может применяться альтернативный способ, подразумевающий настройку атрибутов диска и модуля
PAM; -
ОС Microsoft Windows: перемещаемые профили размещаются во вложенных каталогах общего сетевого ресурса.
Настройка перемещаемого профиля для ПК СВ Брест
Общие действия по настройке
|
Существующие ограничения:
|
Действия по настройке перемещаемого профиля сводятся к следующей последовательности:
-
создание базового образа диска для профиля в ПК СВ Брест;
-
задание созданному образу атрибута
TDSK_SHARED_TYPEсо значениемPRIVATE; -
настройка модуля
PAM (pam_tdsk)в базовом ВРМ; -
активация механизма перемещаемого профиля в Termidesk VDI;
-
активация политики «Отделяемый пользовательский профиль (RDP, SPICE, TERA)».
Создание базового образа диска в ПК СВ Брест
Для создания перемещаемого профиля (диска) на платформе ПК СВ Брест нужно:
-
создать постоянный диск требуемого размера и подключить его к ВМ с установленной ОС Astra Linux. При создании выбрать шину SCSI (
DEV_PREFIX=sd) или Virtio (DEV_PREFIX=vd);
|
При создании образа на шине Virtio может появиться сообщение об ошибке «Error attaching new VM Disk: Could not attach /var/lib/one/datastores/0/248/disk.2 (vdb) to one-248» при подключении диска в ПК СВ Брест версии 2.9. В случае возникновения такой ошибки нужно изменить атрибут |
-
создать текстовый файл
/tmp/sfdisk.gptи привести его к виду:
label:gpt
type=773f91ef-66d4-49b5-bd83-d683bf40ad16
| Тип раздела должен быть 773f91ef-66d4-49b5-bd83-d683bf40ad16. |
-
внести изменения в таблицу разделов на диске в соответствии с файлом
/tmp/sfdisk.gptпри помощи утилитыsfdisk:
sudo sfdisk /dev/sdb < /tmp/sfdisk.gpt
В примерах используется обозначение диска /dev/sdb. Чтобы узнать, какое обозначение присвоено диску, необходимо воспользоваться утилитой lsblk.
|
-
преобразовать новый раздел диска в формат
ext4:
sudo mkfs.ext4 /dev/sdb1
-
проверить успешность создания диска:
sudo lsblk -JO /dev/sdb1
где:
-JO - ключ для вывода всех столбцов в формате JSON.
Задание атрибутов созданному диску
Для задания атрибутов созданному ранее диску нужно:
-
выключить ВМ и отключить диск от нее;
-
в свойствах диска добавить атрибут
TDSK_SHARED_TYPEсо значениемPRIVATE. Запомнить идентификатор (ID) диска (см. рисунок Окно просмотра ID диска в ПК СВ Брест).
Настройка модуля PAM в базовом ВРМ
Для настройки модуля PAM в гостевой ОС базового ВРМ нужно:
-
выполнить подготовку базового ВРМ;
-
создать файл
/usr/share/pam-configs/pam_tdskсо следующим содержимым:
Name: Termidesk session
Default: yes
Priority: -1
Session-Interactive-Only: yes
Session-Type: Additional
Session:
required pam_exec.so /usr/bin/pam_tdsk --autofs --skel=/etc/skel --chmod=700 --uid-ext-range 65536-2000000000
|
Параметр Максимальная граница диапазона зависит от используемого домена в сети, от настроек отображения идентификаторов пользователей домена в идентификаторы пользователей ВРМ. Приоритет |
-
выполнить обновление профилей PAM:
sudo pam-auth-update
-
убедиться, что в файле
/etc/pam.d/common-sessionпоявилась строка с модулемpam_tdsk:
session required pam_exec.so /usr/bin/pam_tdsk --autofs --skel=/etc/skel --chmod=700 --uid-ext-range 65536-2000000000
Активация механизма перемещаемого профиля в Termidesk
Для активации механизма перемещаемого профиля в «Портале администратора» Termidesk VDI нужно перейти «Системные параметры - Системные настройки - Общие», затем в параметре «Список шаблонов подключаемых профилей в ПК СВ Брест» указать идентификатор образа диска для хранения профиля.
Ранее активация механизма перемещаемого профиля выполнялась в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf в параметре TDSK_AUTOFS_IMAGES_ID.
|
Активация политики в интерфейсе Termidesk
Для активации политики «Отделяемый пользовательский профиль (RDP, SPICE, TERA)» в «Портале администратора» Termidesk следует перейти «Рабочие места - Глобальные политики», затем параметру «Отделяемый пользовательский профиль (RDP, SPICE, TERA)» присвоить значение «Включен».
Настройка перемещаемых профилей для ОС Microsoft Windows
Настройка перемещаемых профилей является опциональной. Действия по настройке сводятся к следующей последовательности:
-
подготовка сетевого ресурса для централизованного хранения профилей пользователей, позволяющего им получать доступ к одному и тому же профилю на всех серверах узла сеансов удаленных рабочих столов, настроенных на использование этого общего сетевого хранилища;
-
включение в настройках фонда РМ политик «Использование обязательных профилей на сервере узла сеанса удаленных рабочих столов (RDP)» и «Путь для перемещаемого профиля пользователя служб удаленного рабочего стола (RDP)». Есть особенности работы политик фермы Termidesk и политик контроллера домена (см. подраздел Политики);
-
публикация фонда РМ.
Профили пользователей будут содержаться во вложенных каталогах на указанном в политике «Путь для перемещаемого профиля пользователя служб удаленного рабочего стола (RDP)» сетевом ресурсе. Каталоги будут созданы автоматически после подключения пользователей и названы по имени учетной записи каждого пользователя %USERNAME%.