ActiveDirectory/Join/Customization
После ввода машины в домен и применения автоматических настроек, остаются дополнительные настройки, которые можно выполнить вручную по желанию.
Настройка окна входа
Настройка LightDM
Автоматически в LightDM отключается отображения списка пользователей и отображение выбора языка, но можно самостоятельно дополнительно настроить окно входа в систему.
Можно воспользоваться графическим инструментом lightdm-gtk-greeter-settings:
# apt-get install lightdm-gtk-greeter-settings
или же вручную править конфигурационные файлы.
- Экран приветствия GTK
- Чтобы настроить обои на экране приветствия, необходимо в файле /etc/lightdm/lightdm-gtk-greeter.conf в разделе [greeter] определить переменную background. Например:Рекомендуется использовать PNG или JPG-файл, так как LightDM нужен доступ на чтение файла обоев рабочего стола.
background=/usr/share/design/workstation/backgrounds/xdm.png
- Изменения темы происходит с помощью переменной theme-name в секции [greeter]. Тема для значков изменяются аналогично, например:
theme-name = BlueMenta icon-theme-name = menta
- Чтобы настроить обои на экране приветствия, необходимо в файле /etc/lightdm/lightdm-gtk-greeter.conf в разделе [greeter] определить переменную background. Например:
- Изменение отображение индикаторов
- В файле /etc/lightdm/lightdm-gtk-greeter.conf в разделе [greeter] параметр indicators, определяющий, какие индикаторы отображаются в графическом интерфейсе приветствия LightDM, включает в себя элементы:
- ~host - отображает имя хоста машины (имя компьютера).
- ~spacer - вставляет пустое пространство между индикаторами для визуального разделения.
- ~clock - отображает текущее время и/или дату в интерфейсе приветствия.
- ~layout - позволяет пользователю выбрать раскладку клавиатуры из списка доступных.
- ~session - позволяет выбрать сессию рабочего стола, которая будет использоваться после входа.
- ~a11y - предоставляет доступ к параметрам, таким как высокая контрастность или крупный шрифт.
- ~power - отображает индикаторы управления питанием, такие как кнопки выключения, перезагрузки или приостановки системы.
- Можно изменять состав элементов, менять их порядок или добавлять дополнительные пространства между индикаторами.
- В файле /etc/lightdm/lightdm-gtk-greeter.conf в разделе [greeter] параметр indicators, определяющий, какие индикаторы отображаются в графическом интерфейсе приветствия LightDM, включает в себя элементы:
- Автоматическое заполнение поля «Имя пользователя» именем последнего пользователя входившего в систему (начиная с версии 2.0.7-alt2)
- В файле /etc/lightdm/lightdm-gtk-greeter.conf в разделе [greeter] необходимо указать:
enter-username = true
- В файле /etc/lightdm/lightdm-gtk-greeter.conf в разделе [greeter] необходимо указать:
Управление файловыми ресурсами
Подключение файловых ресурсов
Рассматриваемые способы позволяют подключать файловые ресурсы (file shares) для доменного пользователя без повторного ввода пароля (SSO, Single Sign-On).
Подключение через графические файловые менеджеры
Графические файловые менеджеры имеют интерфейс для подключения к файловым ресурсам, поддерживающим протоколы, такие как SMB/CIFS. Подключение происходит через интеграцию с системой GVfs, которая упрощает работу с удалёнными ресурсами. В разделе "Сеть" файлового менеджера отображаются доступные SMB-серверы, которые автоматически обнаруживаются с помощью Avahi. Это позволяет пользователю подключаться к удалённым серверам без необходимости вручную вводить IP-адреса или имена серверов. Разрешение имен в локальной сети обеспечивает mDNS (Multicast DNS), используемый в Avahi.
Пример ресурса, который может быть обнаружен: smb://server.local/ (где server.local — это имя SMB-сервера, разрешаемое через mDNS).
Через gio
Недостаток такого способа — подключение происходит "по запросу" (необходимо открыть ресурс в файловом менеджере), а не на этапе аутентификации. Однако можно открывать любые ресурсы на любых серверах, входящие в домен Active Directory.
- Установка необходимых пакетов:
# apt-get install apt-get install fuse-gvfs gvfs-backend-smb libgio
- Добавление пользователя в группу fuse (с правами root):
# gpasswd -a <пользователь> fuse
- Разрешить для всех доступ к fuse под root:
# control fusermount public
- Далее необходимо войти под доменным пользователем:
- Открыть ресурс в файловом менеджере (например, по адресу smb://server/sysvol). Ресурс смонтирован по пути /var/run/<uid_пользователя>/gvfs или /var/run/user/<uid_пользователя>/gvfs/smb-share:server=сервер,share=ресурс.
- Другой вариант (полезно для скриптов в автозапуске):
# gio mount smb://server/sysvol/
С использованием pam_mount
Основной задачей pam_mount является автоматическое монтирование удалённых файловых систем при аутентификации пользователя в системе. Это позволяет пользователям подключаться к сетевым ресурсам, как только они успешно вошли в систему, без необходимости вручную монтировать их или вводить пароль каждый раз.
- Установка необходимых пакетов:
- Установка pam_mount:
# apt-get install pam_mount
- При подключении файловых ресурсов по протоколу CIFS (SMB) необходимо установить cifs-utils:
# apt-get install cifs-utils
- Для того, чтобы файловые ресурсы, подключенные с помощью pam_mount, корректно отключались при завершении сеанса, необходимо установить пакет systemd-settings-enable-kill-user-processes и перезагрузить систему:
# apt-get install systemd-settings-enable-kill-user-processes
- Установка pam_mount:
- Добавление pam_mount в схему аутентификации по умолчанию. В конец файла (/etc/pam.d/system-auth) добавьте строки:
session [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet session optional pam_mount.so disable_interactive
- Параметр disable_interactive нужен для того, чтобы pam_mount не спрашивал пароль. Первая строка предназначена для того, чтобы не монтировать дважды при запуске systemd --user.
- Пример файла /etc/pam.d/system-auth при аутентификации доменного пользователя под SSSD:
#%PAM-1.0 auth [success=4 perm_denied=ignore default=die] pam_localuser.so auth [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet auth [default=1] pam_permit.so auth substack system-auth-sss-only auth [default=1] pam_permit.so auth substack system-auth-local-only auth substack system-auth-common account [success=4 perm_denied=ignore default=die] pam_localuser.so account [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet account [default=1] pam_permit.so account substack system-auth-sss-only account [default=1] pam_permit.so account substack system-auth-local-only account substack system-auth-common password [success=4 perm_denied=ignore default=die] pam_localuser.so password [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet password [default=1] pam_permit.so password substack system-auth-sss-only password [default=1] pam_permit.so password substack system-auth-local-only password substack system-auth-common session [success=4 perm_denied=ignore default=die] pam_localuser.so session [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet session [default=1] pam_permit.so session substack system-auth-sss-only session [default=1] pam_permit.so session substack system-auth-local-only session substack system-auth-common session [success=1 default=ignore] pam_succeed_if.so service = systemd-user session optional pam_mount.so disable_interactive
- Устанавливаем правило монтирования ресурса в файле /etc/security/pam_mount.conf.xml: Где:
<volume uid="10000-2000200000" fstype="cifs" server="c253.test.alt" path="sysvol" mountpoint="~/share" options="sec=krb5i,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775"/>
- uid="10000-2000200000" — диапазон присваиваемых для доменных пользователей UID (подходит и для Winbind и для SSSD);
- server="c253.test.alt" — имя сервера с ресурсом;
- path="sysvol" — имя файлового ресурса;
- mountpoint="~/share" — путь монтирования в домашней папке пользователя.
- Опционально можно добавить:
- sgrp="group_name" — имя группы, при членстве пользователя в которой, папка будет примонтирована.
- Ссылки:
Создание ресурсов общего доступа
Возможность публикации и управления собственными ресурсами в сети непривилегированным пользователем называется usershares и предоставляется службой Samba.
С подробностями настройки и управления можно ознакомиться в статье Usershares.
Отображение глобальных групп на локальные
При вводе машины в домен с помощью task-auth-ad-sssd или task-auth-ad-winbind установка модуля ролей и настройка соответствия локальных групп доменным выполняются автоматически.
Установка модуля ролей
# apt-get install libnss-role
Настройка ролей и привилегий
- Добавление роли локальных администраторов:
# groupadd -r localadmins
Примечание: Лучше использовать группу localadmins (вместо admins) по избежание конфликта с группой admins во FreeIPA.
- Создание привилегии на право удалённого доступа (по протоколу ssh):
# groupadd -r remote
- Включение удалённого доступа только для группы remote:
# control sshd-allow-groups enabled # sed -i 's/AllowGroups.*/AllowGroups = remote/' /etc/openssh/sshd_config
- Настройка списка привилегий:
- Для пользователей (для роли users):
# roleadd users cdwriter cdrom audio proc radio camera floppy xgrp scanner uucp fuse
- Для администраторов (для роли admins):
# roleadd localadmins wheel remote vboxusers
- Для пользователей (для роли users):
- Настройка отображения локальных привилегий, назначенных локальным ролям, на глобальные группы безопасности:
- Для пользователей:или
# roleadd 'Domain Users' users
# roleadd 'Пользователи домена' users
- Для администраторов: или
# roleadd 'Domain Admins' localadmins
# roleadd 'Администраторы домена' localadmins
- Для пользователей:
- Просмотр списка назначенных ролей и привилегий:
# rolelst users:vmusers,usershares,cdwriter,cdrom,audio,video,proc,radio,camera,floppy,xgrp,scanner,uucp,vboxusers,fuse,vboxadd domain admins:localadmins domain users:users localadmins:wheel,vboxadd,vboxusers powerusers:remote,vboxadd,vboxusers vboxadd:vboxsf
# id ivanov uid=1880201123(kama) gid=1880200513(domain users) группы=1880200513(domain users),10002(BUILTIN\users),100(users),36(vmusers),449(usershares),80(cdwriter),22(cdrom),81(audio),479(video),19(proc),83(radio),468(camera),71(floppy),498(xgrp),499(scanner),14(uucp),476(vboxusers),471(fuse),490(vboxadd),489(vboxsf)
Данная настройка назначает заданный список локальных групп (привилегий) всем пользователям, входящим в заданные локальные группы (роли). А также назначает локальные роли для глобальных групп в домене.