Настройка технологии единого входа в гостевой ОС ВМLink to Настройка технологии единого входа в гостевой ОС ВМ

Общие сведенияLink to Общие сведения

Настройка технологии единого входа (SSO) позволяет автоматически авторизовываться в гостевую ОС ВМ при подключении пользователя по протоколу SPICE.

Данный функционал является экспериментальным, однако его активация через экспериментальные параметры Terrmidesk не требуется.

Действия по настройке SSO сводятся к следующей последовательности шагов:

1) активация модуля PAM (pam_tdsk) агента ВРМ;

2) включение механизма автоматической авторизации в гостевую ОС.

Активация модуля PAMLink to Активация модуля 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
BASH

Пример итогового файла:

#%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
BASH

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
BASH

Приоритет Priority: 301 необходим для того, чтобы цепочка авторизации начиналась с модуля /usr/bin/pam_tdsk.

После активации модуля PAM одним из перечисленных выше способов необходимо выполнить обновление профилей PAM при помощи команды:

:$ sudo pam-auth-update
BASH

После выполнения команды в гостевой ОС AstraLinux обновится файл /etc/pam.d/common-auth.

Включение механизма автоматической авторизацииLink to Включение механизма автоматической авторизации

Механизм автоматической авторизации может быть включен двумя способами:

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
BASH

2) дополнительно к первому способу задать переменную DM_LOGIN_AUTOMATION со значением «1» в файле /etc/default/locale. Пример файла:

# File generated by update-locale
LANG="ru_RU.UTF-8"
DM_LOGIN_AUTOMATION=1
BASH

Данный способ (второй) является предпочтительным.

После включения автоматической авторизации одним из перечисленных выше способов необходимо выполнить перезапуск конфигурации загруженных модулей: 

:$ sudo systemctl daemon-reload
BASH

Затем выполнить перезапуск службы:

:$ sudo systemctl restart fly-dm
BASH

Активация технологии единого входа на сервере терминалов MS RDSLink to Активация технологии единого входа на сервере терминалов MS RDS

Для включения SSO на MS RDS необходимо выполнить следующую последовательность шагов:

  • на контроллере домена MS AD создать групповую политику с названием SSO;
  • в созданную групповую политику внести следующие изменения:
    • в редакторе групповой политики перейти «Конфигурация компьютера - Административные шаблоны - Система - Передача учетных данных», выбрать параметр «Разрешить передачу учетных данных, установленных по умолчанию» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local», где disp.termidesk.local - имя сервера Termidesk. Далее нажать экранные кнопки [ОК] и [Применить];
Редактирование параметра «Разрешить передачу учетных данных, установленных по умолчанию» групповых политик
    • в этом же списке выбрать параметр «Разрешить передачу новых учетных данных с проверкой подлинности сервера «только NTLM» и присвоить ему значение «Включено». Затем нажать экранную кнопку [Добавить серверы в список] и задать значение «TERMSRV/disp.termidesk.local», где disp.termidesk.local - имя сервера Termidesk. Далее нажать экранные кнопки [ОК] и [Применить];
    • в редакторе групповой политики перейти «Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Клиент подключения к удаленному рабочему столу», выбрать параметр «Запрашивать учетные данные на клиентском компьютере» и присвоить ему значение «Отключено».

По умолчанию время гарантированного автоматического применения изменений соответствует интервалу 90 – 120 минут после обновления файлов групповых политик на контроллере домена. Если необходимо форсировать применение политики, то на контроллере домена, MS RDS и рабочих станциях пользователей необходимо выполнить команду gpupdate /force.