Download PDF
Download page Технология единого входа.
Технология единого входа
Настройка технологии единого входа в гостевой ОС ВМ
Общие сведения
Настройка технологии единого входа (SSO) позволяет автоматически авторизовываться в гостевую ОС ВМ при подключении пользователя по протоколу SPICE
.
Данный функционал является экспериментальным, однако его активация через экспериментальные параметры Terrmidesk не требуется.
Действия по настройке SSO сводятся к следующей последовательности шагов:
1) активация модуля PAM (pam_tdsk
) агента ВРМ;
2) включение механизма автоматической авторизации в гостевую ОС.
Активация модуля PAM
Модуль PAM может быть активирован двумя способами:
1) через указание записи в цепочке авторизации PAM для графической подсистемы. Например, для гостевой ОС Astra Linux нужно отредактировать файл /etc/pam.d/fly-dm
, добавив следующую строку перед секцией @include common-auth
:
auth sufficient pam_exec.so expose_authtok quiet /usr/bin/pam_tdsk
Пример итогового файла:
#%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
@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
2) через создание файла /usr/share/pam-configs/termidesk-sso
со следующим содержимым:
Name: Termidesk SSO
Default: yes
Priority: 301
Auth-Type: Primary
Auth:
sufficient pam_exec.so expose_authtok quiet /usr/bin/pam_tdsk
Приоритет Priority: 301
необходим для того, чтобы цепочка авторизации начиналась с модуля /usr/bin/pam_tdsk
.
После активации модуля PAM одним из перечисленных выше способов необходимо выполнить обновление профилей PAM при помощи команды:
:$ sudo pam-auth-update
После выполнения команды в гостевой ОС AstraLinux обновится файл /etc/pam.d/common-auth
.
Включение механизма автоматической авторизации
Механизм автоматической авторизации может быть включен двумя способами:
1) через задание переменной DM_LOGIN_AUTOMATION
со значением «1» в файле /lib/systemd/system/fly-dm.service
. Пример файла:
[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
2) дополнительно к первому способу задать переменную DM_LOGIN_AUTOMATION
со значением «1» в файле /etc/default/locale
. Пример файла:
# File generated by update-locale
LANG="ru_RU.UTF-8"
DM_LOGIN_AUTOMATION=1
Данный способ (второй) является предпочтительным.
После включения автоматической авторизации одним из перечисленных выше способов необходимо выполнить перезапуск конфигурации загруженных модулей:
:$ sudo systemctl daemon-reload
Затем выполнить перезапуск службы:
:$ sudo systemctl restart fly-dm
Активация технологии единого входа на сервере терминалов MS RDS
Для включения SSO на MS RDS необходимо выполнить следующую последовательность шагов:
- на контроллере домена MS AD создать групповую политику с названием SSO;
- в созданную групповую политику внести следующие изменения:
- в редакторе групповой политики перейти «Конфигурация компьютера - Административные шаблоны - Система - Передача учетных данных», выбрать параметр «Разрешить передачу учетных данных, установленных по умолчанию» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local», где
disp.termidesk.local
- имя сервера Termidesk. Далее нажать экранные кнопки [ОК] и [Применить];
- в редакторе групповой политики перейти «Конфигурация компьютера - Административные шаблоны - Система - Передача учетных данных», выбрать параметр «Разрешить передачу учетных данных, установленных по умолчанию» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local», где
- в этом же списке выбрать параметр «Разрешить передачу новых учетных данных с проверкой подлинности сервера «только NTLM» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local», где
disp.termidesk.local
- имя сервера Termidesk. Далее нажать экранные кнопки [ОК] и [Применить]; - в редакторе групповой политики перейти «Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Клиент подключения к удаленному рабочему столу», выбрать параметр «Запрашивать учетные данные на клиентском компьютере» и присвоить ему значение «Отключено».
- в этом же списке выбрать параметр «Разрешить передачу новых учетных данных с проверкой подлинности сервера «только NTLM» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local», где
По умолчанию время гарантированного автоматического применения изменений соответствует интервалу 90 – 120 минут после обновления файлов групповых политик на контроллере домена. Если необходимо форсировать применение политики, то на контроллере домена, MS RDS и рабочих станциях пользователей необходимо выполнить команду gpupdate /force
.