Настройка технологии единого входа в гостевой ОС ВМ
Общие сведения
Настройка технологии единого входа (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.
