Групповые политики/FreeIPA
В FreeIPA отсутствует концепция групповых политик (GPO). В AD групповые политики состоят из Group Policy Container (GPC), хранящегося в базе данных Active Directory, и Group Policy Template (GPT), который представляет собой набор файлов в каталоге SYSVOL на контроллере домена. Для реализации поддержки групповых политик на клиентах FreeIPA с использованием инструмента gpupdate необходимо создать сетевую шару Samba, которая будет использоваться для хранения и распространения GPO аналогично AD.
В gpupdate реализована тестовая версия, позволяющая применять групповые политики ALT Linux на клиентах в домене на базе FreeIPA. В этой статье будет описано, как настроить сервер FreeIPA на взаимодействие с gpupdate.
Предполагается, что инфраструктура уже развернута: сервер FreeIPA установлен и настроен (см. Установка сервера FreeIPA), а клиентская система введена в домен (см. Установка FreeIPA клиента и подключение к серверу).
Взаимодействие FreeIPA с Samba
Настройка доверия и Samba-шары
Для настройки взаимодействия FreeIPA с Samba (для обработки классов и атрибутов объектов, специфичных для Samba) и корректной работы Samba-шар, необходимо настроить службу доверия в FreeIPA:
# ipa-adtrust-install --add-sids --add-agents
Проверка работы основных служб, в том числе и Samba (smb, winbind):
# ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
pki-tomcatd Service: RUNNING
smb Service: RUNNING
winbind Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful
Для хранения групповых политик (GPO) на FreeIPA необходимо создать расшаренную папку (аналог SYSVOL) в конфигурации Samba:
# net conf addshare ipasysvol /var/lib/freeipa/sysvol writeable=y guest_ok=y
После выполнения команды можно проверить список расшаренных папок:
$ net conf listshares
global
ipasysvol
Организация GPO в FreeIPA
В Active Directory (AD) для применения групповых политик (GPO) используется структура Organizational Units (OU), которая позволяет привязывать политики к конкретным контейнерам, содержащим пользователей, компьютеры и другие объекты. В FreeIPA, однако, нет концепции OU, и вместо этого для применения GPO используются группы, в которые добавляются пользователи. Таким образом, доступ к групповой политике будет определяться принадлежностью пользователя к определенной группе, а соответствующие настройки будут храниться в папках в расшаренной папке (аналог SYSVOL), названных в честь этих групп.
- Добавление пользователя в группу
- Чтобы политика применялась к нужным пользователям, добавляем их в соответствующую группу:
# ipa group-add gpo_group1 --desc "Группа для GPO 1" # ipa group-add-member gpo_group1 --users=user1,user2
- Чтобы политика применялась к нужным пользователям, добавляем их в соответствующую группу:
- Создание папок для GPO
- На расшаренной папке ipasysvol необходимо создать папки с названиями, соответствующими группам. Например:
# mkdir -p /var/lib/freeipa/sysvol/gpo_group1 # mkdir -p /var/lib/freeipa/sysvol/gpo_group2
- На расшаренной папке ipasysvol необходимо создать папки с названиями, соответствующими группам. Например:
- Размещение Group Policy Template (GPT)
- Так как в FreeIPA нет компонента удаленного управления базой данных конфигурации (ADMC) и модуля редактирования настроек клиентской конфигурации (GPUI), GPT (набор файлов групповой политики) нужно сначала создать на Samba-сервере, а затем скопировать в соответствующую папку. Также необходимо проверить права доступа.
- Для применения групповых политик на клиентах необходимо установить gpupdate, если он не установлен:
# apt-repo add # apt-get update # apt-get install gpupdate
- Необходимо внести изменения в конфигурационный файл etc/gpupdate/gpupdate.ini: В параметре share_path необходимо указывать созданную вами расшаренную папку. Также параметр backend = freeipa не обязательно прописывать вручную, а можно установить:
[gpoa] backend = freeipa local-policy = workstation [dc] share_path = ipasysvol
# gpupdate-setup set-backend freeipa
- Необходимо внести изменения в конфигурационный файл etc/gpupdate/gpupdate.ini:
Теперь политики можно применять на клиенте с помощью gpupdate:
$ gpupdate
Apply group policies for computer.
Apply group policies for user1.