Групповые политики
Групповая политика — это набор правил, в соответствии с которыми производится настройка рабочей среды относительно локальных политик, по умолчанию. Групповые политики в реализации Active Directory — это часть интегрированного решения. Альтернативной реализацией Active Directory под Linux/Unix является проект Samba. Поддержка применения групповых политик в конкретных дистрибутивных решениях, в целом, не является частью проекта Samba. В данной статье представлен общий обзор данного инструмента в контексте интеграции применения групповых политик в решениях ALT.
Механизмы назначения и кеширования
В дистрибутивах ALT для применения групповых политик на данный момент предлагается использовать инструмент gpupdate. Инструмент рассчитан на работу на машине, введённой в домен Samba. Среди применяемых настроек присутствуют:
Настройка | Статус | Комментарий |
---|---|---|
Настройка браузера Firefox | Стабильная | Возможно установить при использовании ADMX файлов Mozilla Firefox (пакет admx-firefox, https://github.com/mozilla/policy-templates/releases) |
Настройка браузера Chromium | Стабильная | Возможно установить при использовании ADMX файлов Google Chrome (пакет admx-chromium, https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip) |
Настройка «Яндекс.Браузера» | Стабильная | Возможно установить при использовании ADMX файлов Yandex (пакет admx-yandex-browser, https://yandex.ru/support/browser-corporate/deployment/deployment.html) |
Запрет на подключение внешних носителей данных | Стабильная | Стандартные средства RSAT |
Включение или выключение различных служб (сервисов systemd) | Стабильная | Возможно установить при использовании ADMX файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt) |
Управление control framework | Стабильная | Возможно установить при использовании ADMX файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt) |
Управление Gsettings | Стабильная | Возможно установить при использовании ADMX файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt) |
Генерация ярлыков запуска программ | Стабильная | Стандартные средства RSAT. С некоторыми ограничениями. Также можно делать ярлыки типа URL и делать, например, URI-ссылки smb:// для открытия Samba shares.
|
Подключение сетевых дисков | Экспериментальная | Стандартные средства RSAT |
Управление каталогами | Стабильная | Стандартные средства RSAT |
Управление INI-файлами | Экспериментальная | Стандартные средства RSAT |
Управление общими каталогами | Экспериментальная | Стандартные средства RSAT |
Управление файлами | Экспериментальная | Стандартные средства RSAT |
Управление переменными среды | Стабильная | Стандартные средства RSAT |
Управление logon-скриптами | Экспериментальная | Стандартные средства RSAT |
Установка программного обеспечения | Экспериментальная | Возможно установить при использовании ADMX файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt) |
Установка пароля для локального пользователя root | Не реализовано | |
Политика замыкания | Возможно установить при использовании ADMX файлов от Microsoft (пакет admx-msi-setup) |
Оценить полный набор возможностей могут администраторы инфраструктур на базе Active Directory скачав файлы ADMX из репозитория: https://github.com/altlinuxteam/admx-basealt и загрузив их в оснастку RSAT. Модули (настройки), помеченные как экспериментальные, необходимо включать вручную через ADMX файлы ALT в разделе GPUpdate.
Процесс применения настроек:
- настройки для машины реплицируются при запуске компьютера и далее обновляются раз в час;
- настройки для пользователя реплицируются при входе пользователя в систему и далее обновляются раз в час.
Развёртывание клиентских средств применения групповых политик
На текущий момент для включения инструмента групповых политик на клиентах AD необходимо установить пакеты из репозитория:
- oddjob-gpupdate
- gpupdate
Установка ПО производится командами:
# apt-get update
# apt-get install gpupdate
Конфигурирование в командной строке
Включение работы групповых политик и выбор шаблона локальной политики (local policy) выполняется командой gpupdate-setup
от пользователя с правами администратора:
# gpupdate-setup enable
workstation
Для применения настроек следует перезагрузить рабочую машину.
Примеры, работы с командой gpupdate-setup
:
- показать текущий статус групповой политики:
# gpupdate-setup enabled
- показать текущий профиль политики:
# gpupdate-setup active-policy workstation
- показать список доступных профилей локальной политики:
# gpupdate-setup list server ad-domain-controller workstation
- включить групповые политики и установить профиль локальной политики server:
# gpupdate-setup write enable server server
Конфигурирование с помощью Alterator
Включить работу групповых политик и выбрать профиль локальной политики по умолчанию можно также с помощью GUI в ЦУС. Должны быть установлены пакеты alterator-auth и alterator-gpupdate:
# apt-get install alterator-auth alterator-gpupdate
Конфигурирование групповых политик с помощью Alterator возможно как при вводе машины в домен AD, так и на уже включённой в домен рабочей станции.
Для включения групповых политик при вводе машины в домен, следует в модуле ЦУС «Аутентификация» отметить пункт «Включить групповые политики»:
Если рабочая станция уже находится в домене, конфигурирование групповых политик с помощью Alterator возможно с помощью модуля «Групповые политики» из пакета alterator-gpupdate:
Функционал модуля «Групповые политики» пока ограничен включением/выключением политики и выбором шаблона локальной политики — Сервер, Рабочая станция или Контроллер домена:
Конфигурирование gpupdate
По умолчанию, нет необходимости конфигурировать gpupdate.
Однако, в файле /etc/gpupdate/gpupdate.ini можно указать в явном виде следующие опции:
в разделе [gpoa]
backend = выбор способа получения настроек
local-policy = профиль локальной политики, который будет применен сразу после загрузки ОС.
в разделе [samba]
dc = контроллер домена, с которого нужно обновлять групповые политики
В следующем примере указан пустой профиль локальной политики. Это бывает необходимо для тестирования групповых политик, чтобы они не наслаивались на локальные политики:
[gpoa]
backend = samba
local-policy = /usr/share/local-policy/default
[samba]
dc = dc0.domain.alt
Периодичность запуска групповых политик
У машины и пользователя собственные таймеры процесса gpupdate.
Для мониторинга и контроля времени выполнения службы gpupdate.service используются системный таймер gpupdate.timer и пользовательский таймер gpupdate-user.timer. Для управления периодом запуска групповых политик достаточно изменить параметр соответствующего таймера systemd (по умолчанию период запуска составляет 1 час).
Изменить периодичность запуска системного таймера можно в /lib/systemd/system/gpupdate.timer. По умолчанию таймер gpupdate.timer запустится после загрузки ОС, а затем будет запускаться каждый час во время работы системы. Просмотреть статус системного таймера:
# systemctl status gpupdate.timer
Изменить периодичность запуска пользовательского таймера можно в /usr/lib/systemd/user/gpupdate-user.timer. По умолчанию таймер gpupdate-user.timer запустится после входа пользователя в систему, а затем будет запускаться каждый час пока активен сеанс соответствующего пользователя. Просмотреть статус пользовательского таймера:
$ systemctl --user status gpupdate-user.timer
$ systemctl --user daemon-reload
Установка административных шаблонов и инструментов администрирования ГП
Для задания конфигурации необходимо установить административные шаблоны (ADMX-файлы).
Установка ADMX-файлов и инструментов администрирования: Развёртывание административных шаблонов для групповых политик.
Подробнее о инструменте удалённого управления базой данных конфигурации: ADMC.
Подробнее о инструменте редактирования настроек клиентской конфигурации: GPUI.
Internals
Групповые политики кэшируются в файле /var/cache/gpupdate/registry.sqlite (можно просматривать его командой sqlite3
).
Состав локальной политики
Для клиента также существует понятие локальной политики. Настройки локальной политики находятся в каталоге /usr/share/local-policy/. Данные настройки по умолчанию поставляются пакетом 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
заново для перегенерации файла и вызова «применялки настроек».
Для диагностики механизмов применения групповых политик на клиенте можно выполнить команды:
- получить и применить настройки для текущей машины:
# gpoa --loglevel 0
- получить и применить настройки для пользователя ivanov:
# gpoa --loglevel 0 ivanov
Коды ошибок
Сообщения, сопутствующие кодам ошибок, могут изменяться (переводиться, исправляться), но сам код уникален для определённой части программы, что позволяет однозначно идентифицировать проблему.
Код | Описание | Решение |
---|---|---|
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. | Проверьте, что машина является частью домена и контроллер домена доступен. Удостоверьтесь, что пользователь существует. Проверьте, что соответствующая часть ОС не поломана. |