Групповые политики

Материал из ALT Linux Wiki

Групповая политика — это набор правил, в соответствии с которыми производится настройка рабочей среды относительно локальных политик, по умолчанию. Групповые политики в реализации Active Directory - это часть интегрированного решения. Альтернативной реализацией Active Directory под Linux/Unix является проект Samba. Поддержка применения групповых политик в конкретных дистрибутивных решениях, в целом, не является частью проекта Samba. В данной статье представлен общий обзор данного инструмента в контексте интеграции применения групповых политик в решениях ALT.

Механизмы назначения и кеширования

В дистрибутивах ALT для применения групповых политик на данный момент предлагается использовать инструмент gpupdate. Инструмент рассчитан на работу на машине, введённой в домен Samba. Обновление машинных политик происходит раз в час. Среди применяемых настроек присутствуют:

Настройка Статус Комментарий
Установка домашней страницы браузера Firefox Экспериментальная Возможно установить при использовании ADMX файлов Mozilla Firefox: https://github.com/mozilla/policy-templates/releases
Установка домашней страницы браузера Chromium Экспериментальная Возможно установить при использовании ADMX файлов Google Chrome: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip
Запрет на подключение внешних носителей данных Стабильная Стандартные средства RSAT
Включение или выключение различных служб (сервисов systemd) Стабильная Возможно установить при использовании ADMX файлов ALT: https://github.com/altlinux/admx-basealt
Управление control framework Стабильная Возможно установить при использовании ADMX файлов ALT: https://github.com/altlinux/admx-basealt
Генерация ярлычков запуска программ Стабильная Стандартные средства RSAT. С некоторыми ограничениями. Также можно делать ярлычки типа URL и делать, например, URI-ссылки smb:// для открытия Samba shares.
Подключение сетевых дисков Экспериментальная Стандартные средства RSAT
Создание директорий Стабильная Стандартные средства RSAT

Оценить полный набор возможностей могут администраторы инфраструктур на базе Active Directory скачав файлы ADMX из репозитория: https://github.com/altlinuxteam/admx-basealt и загрузив их в оснастку RSAT. Модули (настройки), помеченные как экспериментальные, необходимо включать вручную через ADMX файлы ALT в разделе GPUpdate.

Развёртывание клиентских средств применения групповых политик

На текущий момент для включения инструмента групповых политик на клиентах AD необходимо установить пакеты из репозитория:

  • oddjob-gpupdate
  • gpupdate

Установка ПО производится командами:

apt-get update
apt-get install gpupdate

Включение работы групповых политик и выбор умолчальной локальной политики выполняется командой /usr/sbin/gpupdate-setup от пользователя с правами администратора:

gpupdate-setup enable

и перезагрузите рабочую машину.

Также возможно дополнить инсталляцию графическими инструментами (модулями Alterator), чтобы выполнить аналогичные действия с помощью GUI:

apt-get install alterator-auth alterator-gpupdate

Конфигурирование gpupdate

По умолчанию, нет необходимости конфигурировать gpupdate.

Однако, в файле /etc/gpupdate/gpupdate.ini можно указать в явном виде следующие опции:

в разделе [gpoa]
backend = выбор способа получения настроек
local-policy = профиль локальной политики, который будет применен сразу после загрузки ОС.

в разделе [samba]
dc = контроллер домена, с которого нужно обновлять групповые политики

В данном примере указан пустой профиль локальной политики. Это бывает необходимо для тестирования групповых политик, чтобы они не наслаивались на локальные политики:

# cat /etc/gpupdate/gpupdate.ini 
[gpoa]
backend = samba
local-policy = /usr/share/local-policy/default

[samba]
dc = dc0.domain.alt

Развёртывание административных шаблонов для групповых политик

Управление сервером Samba с помощью RSAT поддерживается из среды до Windows 2012R2 включительно. Для поддержки более поздних версий требуется отсутствующий в Samba сервер службы ADWS (https://bugzilla.samba.org/show_bug.cgi?id=11231).

Для задания конфигурации с помощью RSAT необходимо установить административные шаблоны (ADMX-файлы). Это можно сделать одним из следующих способов:

  • на контроллере домена — установить пакеты политик admx-basealt, admx-samba, admx-chromium, admx-firefox и утилиту admx-msi-setup:
    # apt-get install admx-basealt admx-samba  admx-chromium admx-firefox admx-msi-setup
    
    скачать и установить ADMX от Microsoft:
    # admx-msi-setup
    
    после установки, политики будут находиться в каталоге /usr/share/PolicyDefinitions. Скопировать локальные ADMX-файлы в сетевой каталог sysvol (/var/lib/samba/sysvol/<DOMAIN>/Policies/):
    # samba-tool gpo admxload
    
  • на машине Windows — скачать ADMX-файлы (например, политики Альт из репозитория https://github.com/altlinux/admx-basealt) и разместить их в директории \\<DOMAIN>\SYSVOL\<DOMAIN>\policies\PolicyDefinitions.
Примечание: По умолчанию, admx-msi-setup устанавливает последнюю версию ADMX от Microsoft (сейчас это Microsoft Group Policy - Windows 10 October 2020 Update (20H2)). С помощью параметров, можно указать другой источник:
# admx-msi-setup -h
admx-msi-setup - download msi files and extract them in <destination-directory> default value is /usr/share/PolicyDefinitions/.
Usage: admx-msi-setup [-d <destination-directory>] [-s <admx-msi-source>]

Removing admx-msi-setup temporary files...


Корректно установленные административные шаблоны будут отображены в оснастке Group Policy Management Editor в разделе Computer Configuration > Policies > Administrative Templates > ALT System:

Gpme.png

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

Chrony config.png

Конфигурирование с помощью RSAT

Конфигурирование Firefox

Дополнительное дерево настроек для браузера Mozilla Firefox появится после установки ADMX файлов Firefox. Для Linux поддерживаются только машинные политики вследствие ограничений реализации Firefox for Linux. На данный момент поддерживается только опция URL for Home Page, позволяющая задать URL домашней страницы при старте браузера.

Rsat-mozilla-firefox-admx.png

Конфигурирование с помощью Alterator

На текущий момент конфигурирование групповых политик с помощью Alterator возможно с помощью модуля из пакета alterator-gpupdate:

ЦУС. Модуль «Групповые политики»

Функционал пока ограничен включением/выключением политики и выбором шаблона локальной политики — Сервер, Рабочая станция или Контроллер домена:

Модуль ЦУС «Групповые политики»

Internals

Групповые политики кэшируются в файле /var/cache/gpupdate/registry.sqlite (можно просматривать его командой sqlite3).

Состав локальной политики

Для клиента также существует понятие локальной политики. Настройки локальной политики находятся в каталоге /usr/share/local-policy/default. Данные настройки по умолчанию поставляются пакетом local-policy. Администраторы инфраструктур имеют возможность поставлять собственный пакет с локальной политикой и развёртывать её единообразно на всех клиентах. Формат шаблонов локальных политик представляет из себя архивный формат политик Samba с дополнительными модификациями. Локальную политику рекомендуется править только опытным администраторам. Состав локальной политики может меняться или адаптироваться системным администратором.

Описание Комментарий
Включение oddjobd.service Необходимо для обеспечения возможности запуска gpupdate для пользователя с правами администратора.
Включение gpupdate.service Необходимо для регулярного обновления настроек машины.
Включение sshd.service Необходимо для обеспечения возможности удалённого администрирования.
Включение аутентификации с помощью GSSAPI для sshd Необходимо для аутентификации в домене при доступе через SSH.
Ограничение аутентификации для sshd по группам wheel и remote Необходимо для ограничения доступа при доступе через SSH для всех пользователей домена (только при наличии соответствующей привилегии).
Открытие порта 22 Необходимо для обеспечения возможности подключения SSH на машинах при старте Firewall applier.


Troubleshooting

В случае неописанных ошибок и "развала" отладочного вывода один из простых подходов к решению проблемы - удалить файл "реестра" /var/cache/gpupdate/registry.sqlite и запустить gpoa заново для перегенерации файла и вызова "применялки настроек".

Коды ошибок

Сообщения, сопутствующие кодам ошибок, могут изменяться (переводиться, исправляться), но сам код уникален для определённой части программы, что позволяет однозначно идентифицировать проблему.

Код Описание Решение
E00001 Недостаточно прав для запуска программы gpupdate. Необходимо повысить уровень привилегий. Может помочь запуск программы от имени администратора.
E00002 Программа gpupdate не будет запущена из-за предыдущих ошибок.
E00003 Ошибка работы бэкэнда, которая привела к досрочному прекращению обработки групповых политик. Этот код характеризует серьёзные ошибки, которые обрабатываются на самом высоком уровне. Возможно, это баг в коде и необходимо отправить багрепорт в багтрекер проекта.
E00004 Ошибка во время работы фронтенда. Высокоуровневая ошибка при инициализации фронтенда или во время работы appliers. С большой вероятностью может оказаться багом в коде.
E00005 Не получилось запустить применялку политик для обновления групповых политик компьютера. Проверьте, что машина всё ещё в домене, демон oddjobd доступен через D-Bus и у пользователя достаточно прав для запуска ПО.
E00006 Не получилось запустить применялку политик для обновления групповых политик пользователя. Проверьте, что машина всё ещё в домене, демон oddjobd доступен через D-Bus и у пользователя достаточно прав для запуска ПО.
E00007 Невозможно инициализировать бэкэнд Samba в силу неполадок компонентов, связанных с Samba. Необходимо проверить инсталляцию Samba на машине, убедиться, что машина введена в домен и домен доступен.
E00008 Невозможно инициализировать бэкэнд no-domain для выполнения процедуры бутстрапа групповых политик. Возможно, было произведено вмешательство в локальную политику или произошёл misconfiguration. Необходимо проверить целостность пакета local-policy и настройки домена в Alterator.
E00009 Произошла ошибка при попытке запуска adp Необходимо обратиться к руководству по устранению неполадок проекта ADP.
E00010 Произошёл сбой при попытке получить имя домена Active Directory Необходимо проверить работу доменной службы имён (DNS), а также доступность доменного LDAP. Для доступа к LDAP необходим работоспособный Kerberos, так что стоит проверить и его конфигурацию.
E00011 Во время работы applier с пониженным уровнем привилегий произошла неполадка. Возможно, что в используемой групповой политике заданы параметры, для установки которых требуются права администратора. Это необходимо проверить и исправить объект групповой политики соответственно.
E00012 Высокоуровневая ошибка инициализации бэкэнда. Необходимо проверить наличие условий для запуска бэкэнда. В случае с Samba - удостовериться, что машина введена в домен.
E00013 У пользователя, запустившего программу, недостаточно прав для обновления настроек машины. Запустите программу с правами администратора.
E00014 Не прошла проверка наличия билета Kerberos. Билет Kerberos нужен для доступа к сервисам домена. Проверьте конфигурацию Kerberos в файле /etc/krb5.conf. Попробуйте получить билет Kerberos вручную.
E00015 Запрос на получение имени домена Active Directory через LDAP не прошёл. Проверьте возможность получения Kerberos ticket для машины. Проверьте работу DNS и возможность обратиться к доменному LDAP.
E00016 Утилита wbinfo не отдаёт SID для пользователя, для которого выполняется обновление групповых политик. Проверьте целостность программы wbinfo. Проверьте, что машина введена в домен.
E00017 Невозможно получить список групповых политик для репликации на используемое имя пользователя. Удостоверьтесь, что пользователь, для которого произходит попытка получить список групповых политик, существует в домене. Также необходимо удостовериться, что проблема не вызвана misconfiguration домена.
E00018 Не получилось прочитать содержимое настройки XDG_DESKTOP_DIR. Удостоверьтесь, что XDG в системе сконфигурирован корректно и пользователь, для которого вычитывается настройка, существует.
E00019 Произошла ошибка во время работы applier для пользователя. Необходимо удостовериться, что это не misconfiguration в используемой GPO. Возможен баг. В таком случае необходимо оставить bug report на страничке проекта.
E00020 Произошла ошибка во время работы applier для пользователя с пониженными привилегиями. Необходимо удостовериться, что это не misconfiguration в используемой GPO. Возможен баг. В таком случае необходимо оставить bug report на страничке проекта.
E00021 Не был получен ответ от D-Bus при попытке запустить GPOA для текущего пользователя. Удостоверьтесь, что D-Bus работает корректно и демон oddjobd запущен. Удостоверьтесь, что у текущего пользователя достаточно прав для обращения к D-Bus.
E00022 Не был получен ответ от D-Bus при попытке запустить GPOA для машины. Удостоверьтесь, что D-Bus работает корректно и демон oddjobd запущен.
E00023 Не был получен ответ от D-Bus при попытке запустить GPOA для пользователя. Удостоверьтесь, что D-Bus работает корректно и демон oddjobd запущен. Удостоверьтесь, что у текущего пользователя достаточно прав для обращения к D-Bus.
E00024 Ошибка во время работы машинного applier. Проверьте настройки applier вручную, чтобы убедиться, что соответствущая часть ОС не поломана.
E00025 Ошибка во время инициализации пользовательского applier. Проверьте, что машина является частью домена и контроллер домена доступен. Удостоверьтесь, что пользователь существует. Проверьте, что соответствущая часть ОС не поломана.

Страницы проектов