Групповые политики: различия между версиями

Материал из ALT Linux Wiki
мНет описания правки
(ссылка на страницу со списком видеороликов)
 
(не показано 97 промежуточных версий 10 участников)
Строка 1: Строка 1:
= Групповые политики в решениях ALT =
Групповая политика — это набор правил, в соответствии с которыми производится настройка рабочей среды относительно локальных политик, по умолчанию.
 
Групповые политики в реализации Active Directory — это часть интегрированного решения. Альтернативной реализацией Active Directory под Linux/Unix является проект Samba. Поддержка применения групповых политик в конкретных дистрибутивных решениях, в целом, не является частью проекта Samba. В данной статье представлен общий обзор данного инструмента в контексте интеграции применения групповых политик в решениях ALT.  
Групповая политика — это набор правил, в соответствии с которыми производится настройка рабочей среды относительно [[Локальные политики|локальных политик]], по умолчанию.
Групповые политики в реализации [[Active_Directory] - это часть интегрированного решения. Альтернативной реализацией Active Directory под Linux/Unix является проект Samba. Поддержка применения групповых политик в конкретных дистрибутивных решениях, в целом, не является частью проекта Samba. В данной статье представлен общий обзор данного инструмента в контексте интеграции применения групповых политик в решениях ALT.  


__TOC__
__TOC__
== Общий подход ==
Групповые политики, как механизм, отличаются от стандартных инструментов управления конфигурациями (таких как, например, Puppet и Ansible) тремя ключевыми особенностями:
* интеграцией в инфраструктуру Active Directory;
* соответствием декларативной части настроек конфигураций конкретным дистрибутивным решениям;
* наличием не только управления конфигурациями компьютеров, но и конфигурациями пользователей
Интеграция в инфраструктуру LDAP-объектов Active Directory позволяет осуществлять привязку настроек управляемых конфигураций объектам в дереве каталогов. Кроме глобальных настроек в рамках домена, возможна привязка к следующим группам объектов:
* подразделениям (OU - organizational units) - пользователям и компьютерам, хранящимся в соответствующей части дерева объектов;
* сайтам - группам компьютеров в заданной подсети в рамках одного и того же домена.
* конкретным пользователям и компьютерам.
Кроме того, в самих объектах групповых политик могут быть заданы дополнительные условия, фильтры и ограничения, на основании которых принимается решение о том как и, вообще, нужно или не нужно применять данную групповую политику. В качестве дополнительных условий можно установить окружение, в котором выполняется групповая политика (пользовательское или системное), а также требование применять или не применять повторно данную политику, если ранее она уже применялась (например, чтобы удалённый вручную пользователем ярлычок повторно не появлялся на рабочем столе). В качестве фильтров используется информация о состоянии компьютера (размер свободного дискового пространства, наличии батареи (ноутбук или нет?), наличие в файловой системе конкретного файла или каталога, название операционной системы, тип сессии (локальный или терминальный), произвольный ldap или wmi запрос и др.)
Соответствие декларативной части настроек конфигураций конкретным дистрибутивным решениям позволяет управлять не действиями в виде названий скриптов, а вариантами настроек в контексте самих дистрибутивных решений. Таким образом, значения настроек конфигураций сводятся к значениям пар ключ/значение (в решениях от Microsoft такие настройки хранятся в так называемом реестре). Подробный список доступных настроек в оригинальных групповых политиках для решений представлен в таблице [https://www.microsoft.com/en-us/download/details.aspx?id=25250 Windows 10 and Windows Server 2016 Policy Settings].
Настраиваемые параметры групповых политик подразделяются на пользовательские и машинные (политики компьютеров - рабочих станций и серверов). Машинные параметры применяются на узле в момент загрузки, в также в момент явного или регулярного запроса планировщиком. Поскольку пользовательские параметры не могут быть заранее запланированы (поскольку компьютеры в домене явно не привязаны к пользователям и заранее неизвестно какой пользователей попытается войти в систему на данном узле), пользовательские параметры применяются в момент входа в систему. Большинство параметров, устанавливаемых через групповые политики в Active Directory (ярлычки, принтеры, общие каталоги, сетевые настройки и ограничения, и даже дополнительно устанавливаемые программы), являются пользовательскими. Некоторые задачи управлениями конфигурациями можно решить как через пользовательские, так и через машинные параметры. Групповые политики, как техническое решение, прежде всего, подразумевают возможность управлениями не только машинными, но и пользовательскими конфигурациями.


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


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


{| class="wikitable"
{| class="wikitable"
  ! Настройка
  ! Настройка
! Статус
  ! Комментарий
  ! Комментарий
  |-
  |-
  | Установка домашней страницы браузера Firefox
  | [[Групповые_политики/Firefox|Настройка браузера Firefox]]
  |
| Стабильная
| Возможно установить при использовании ADMX-файлов Mozilla Firefox (пакет {{pkg|admx-firefox}}, https://github.com/mozilla/policy-templates/releases)
|-
| [[Групповые_политики/Chromium|Настройка браузера Chromium]]
| Стабильная
| Возможно установить при использовании ADMX-файлов Google Chrome (пакет {{pkg|admx-chromium}}, https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip)
|-
| [[Групповые_политики/Yandex|Настройка «Яндекс.Браузера»]]
| Стабильная
| Возможно установить при использовании ADMX-файлов Yandex (пакет {{pkg|admx-yandex-browser}}, https://yandex.ru/support/browser-corporate/deployment/deployment.html)
|-
| [[Групповые_политики/Политики_доступа_к_съемным_носителям|Запрет на подключение внешних носителей данных]]
| Стабильная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/ALT_System_SystemdUnits|Включение или выключение различных служб (сервисов systemd)]]
| Стабильная
| Возможно установить при использовании ADMX-файлов ALT (пакет {{pkg|admx-basealt}}, https://github.com/altlinux/admx-basealt)
|-
| [[Групповые_политики/ALT_System_Control|Управление control framework]]
| Стабильная
| Возможно установить при использовании ADMX-файлов ALT (пакет {{pkg|admx-basealt}}, https://github.com/altlinux/admx-basealt)
|-
| [[Групповые_политики/KDE|Управление настройками KDE]]
| Экспериментальная
| Возможно установить при использовании ADMX-файлов ALT (пакет {{pkg|admx-basealt}}, https://github.com/altlinux/admx-basealt)
|-
| [[Групповые_политики/Gsettings|Управление GSettings]]
| Стабильная
| Возможно установить при использовании ADMX-файлов ALT (пакет {{pkg|admx-basealt}}, https://github.com/altlinux/admx-basealt)
|-
  | [[Групповые_политики/Polkit|Управление настройками службы Polkit ]]
| Стабильная
| Возможно установить при использовании ADMX-файлов ALT (пакет {{pkg|admx-basealt}}, https://github.com/altlinux/admx-basealt)
|-
| [[Групповые_политики/Управление_ярлыками|Генерация ярлыков запуска программ]]
| Стабильная
| Стандартные средства RSAT, GPUI. С некоторыми ограничениями. Также можно делать ярлыки типа URL и делать, например, URI-ссылки <code>smb://</code> для открытия Samba shares.
|-
| [[Групповые_политики/Подключение_сетевых_дисков|Подключение сетевых дисков]]
| Стабильная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/Управление_каталогами|Управление каталогами]]
| Стабильная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/Управление_ini-файлами|Управление INI-файлами]]
| Экспериментальная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/Общие_каталоги|Управление общими каталогами]]
| Экспериментальная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/Управление_файлами|Управление файлами]]
| Экспериментальная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/Переменные_среды|Управление переменными среды]]
| Стабильная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/Управление_logon-скриптами|Управление logon-скриптами]]
| Экспериментальная
| Стандартные средства RSAT, GPUI
|-
| [[Групповые_политики/Управление_пакетами|Установка программного обеспечения]]
| Экспериментальная
| Возможно установить при использовании ADMX-файлов ALT (пакет {{pkg|admx-basealt}}, https://github.com/altlinux/admx-basealt)
  |-
  |-
  | Установка домашней страницы браузера Chromium
  | [[Групповые_Политики/Установка_пароля_root|Установка пароля для локального пользователя root]]
  |
| Не реализовано
  |  
  |-
  |-
  | Запрет на подключение внешних носителей данных
  | [[Групповые_политики/Политика_замыкания|Политика замыкания]]
  |
  |  
| Возможно установить при использовании ADMX-файлов от Microsoft (пакет {{pkg|admx-msi-setup}})
  |-
  |-
  | Включение или выключение различных служб
  | [[Групповые_Политики/Периодичность_запроса_конфигураций|Периодичность запроса конфигураций]]
  |
|
  | Стандартные средства RSAT, GPUI
  |-
  |-
  | Генерация ярлычков запуска программ
  | [[Групповые_политики/Прокси-сервер|Указание прокси-сервера]]
  | Гарантированно - для Chromium, для остальных случаев - присутствуют ограничения
|
  | Стандартные средства RSAT, GPUI
  |}
  |}


Оценить полный набор возможностей могут администраторы инфраструктур на базе Active Directory скачав файлы ADMX из репозитория: https://github.com/altlinuxteam/admx-basealt и загрузив их в оснастку RSAT.
Оценить полный набор возможностей могут администраторы инфраструктур на базе Active Directory скачав файлы ADMX из репозитория: https://github.com/altlinuxteam/admx-basealt и загрузив их в оснастку RSAT. Модули (настройки), помеченные как экспериментальные, необходимо включать вручную через ADMX-файлы ALT в разделе '''gpupdate'''.
 
Процесс применения настроек:
*настройки для машины реплицируются при запуске компьютера и далее обновляются раз в час;
*настройки для пользователя реплицируются при входе пользователя в систему и далее обновляются раз в час.
 
=== Развёртывание клиентских средств применения групповых политик ===
 
На текущий момент для включения инструмента групповых политик на клиентах AD необходимо установить пакеты из репозитория:
 
* {{pkg|oddjob-gpupdate}}
* {{pkg|gpupdate}}
 
Установка ПО производится командами:
<syntaxhighlight lang="bash"># apt-get update
# apt-get install gpupdate
</syntaxhighlight>
 
==== Конфигурирование в командной строке ====
 
Включение работы групповых политик и выбор шаблона локальной политики (local policy) выполняется командой <code>gpupdate-setup</code> от пользователя с правами администратора:
 
<syntaxhighlight lang="bash"># gpupdate-setup enable
workstation</syntaxhighlight>
 
Для применения настроек следует перезагрузить рабочую машину.
 
Примеры, работы с командой <code>gpupdate-setup</code>:
*показать текущий статус групповой политики:
*:<syntaxhighlight lang="bash"># gpupdate-setup
enabled</syntaxhighlight>
*показать текущий профиль политики:
*:<syntaxhighlight lang="bash"># gpupdate-setup active-policy
workstation</syntaxhighlight>
*показать список доступных профилей локальной политики:
*:<syntaxhighlight lang="bash"># gpupdate-setup list
server
ad-domain-controller
workstation</syntaxhighlight>
*включить групповые политики и установить профиль локальной политики server:
*:<syntaxhighlight lang="bash"># gpupdate-setup write enable server
server</syntaxhighlight>
 
==== Конфигурирование с помощью Alterator ====
Включить работу групповых политик и выбрать профиль локальной политики по умолчанию можно также с помощью GUI в [[ЦУС]].
Должны быть установлены пакеты {{pkg|alterator-auth}} и {{pkg|alterator-gpupdate}}:
 
<syntaxhighlight lang="bash"># apt-get install alterator-auth alterator-gpupdate</syntaxhighlight>
 
Конфигурирование групповых политик с помощью '''Alterator''' возможно как при вводе машины в домен AD, так и на уже включённой в домен рабочей станции.
 
Для включения групповых политик при вводе машины в домен, следует в модуле ЦУС [[Alterator-auth|«Аутентификация»]] отметить пункт «Включить групповые политики»:


=== Развёртывание ===
[[Изображение:Alterator-auth-pass-gpupdate.png|Включение групповых политик при вводе в домен AD]]


На текущий момент для включения инструмента групповых политик на клиентах AD необходимо установить пакеты из репозитория <code>241549</code> (для p9) или <code>241548</code> (для Sisyphus):
Если рабочая станция уже находится в домене, конфигурирование групповых политик с помощью '''Alterator''' возможно с помощью модуля [[Alterator-gpupdate|«Групповые политики»]] из пакета {{pkg|alterator-gpupdate}}:


* oddjob-gpupdate
[[Изображение:Alterator-gpupdate-local-policy.png|ЦУС. Модуль «Групповые политики»]]
* gpupdate


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


apt-repo add 241549
[[Изображение:Alterator-gpupdate-screen.png|Модуль ЦУС «Групповые политики»]]
apt-get update
apt-get install gpupdate oddjob-gpupdate


Далее необходимо включить и запустить две службы:
=== Конфигурирование gpupdate ===
По умолчанию, нет необходимости конфигурировать gpupdate.


systemctl enable oddjobd.service
Однако, в файле {{path|/etc/gpupdate/gpupdate.ini}} можно указать в явном виде следующие опции:
systemctl enable gpupdate.service
systemctl start oddjobd.service
systemctl start gpupdate.service


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


systemctl --global --user enable gpupdate-user.service
в разделе [samba]<br>
systemctl --global --user start gpupdate-user.service
dc = контроллер домена, с которого нужно обновлять групповые политики


После ввода машины в домен для применения групповой политики необходимо авторизоваться в качестве доменного пользователя и выполнить команду:
В следующем примере указан пустой профиль локальной политики. Это бывает необходимо для тестирования групповых политик, чтобы они не наслаивались на локальные политики:
<syntaxhighlight lang="ini">
[gpoa]
backend = samba
local-policy = /usr/share/local-policy/default
   
   
  gpupdate
[samba]
dc = dc0.domain.alt
</syntaxhighlight>
 
=== Периодичность запуска групповых политик ===
 
{{Note| Данный раздел актуален для {{pkg|gpupdate}}, начиная с версии 0.9.11.2-alt1.}}
 
У машины и пользователя собственные таймеры процесса gpupdate.
 
Для мониторинга и контроля времени выполнения службы gpupdate.service используются системный таймер gpupdate.timer и пользовательский таймер gpupdate-user.timer. Для управления периодом запуска групповых политик достаточно изменить параметр соответствующего таймера systemd (по умолчанию период запуска составляет 1 час).
 
Изменить периодичность запуска системного таймера можно в {{path|/lib/systemd/system/gpupdate.timer}}. По умолчанию таймер gpupdate.timer запустится после загрузки ОС, а затем будет запускаться каждый час во время работы системы. Просмотреть статус системного таймера:
<syntaxhighlight lang="bash"># systemctl status gpupdate.timer </syntaxhighlight>
 
Изменить периодичность запуска пользовательского таймера можно в {{path|/usr/lib/systemd/user/gpupdate-user.timer}}. По умолчанию таймер gpupdate-user.timer запустится после входа пользователя в систему, а затем будет запускаться каждый час пока активен сеанс соответствующего пользователя. Просмотреть статус пользовательского таймера:
<syntaxhighlight lang="bash">$ systemctl --user status gpupdate-user.timer </syntaxhighlight>
 
{{Note|Чтобы изменения, внесённые в файл {{path|/usr/lib/systemd/user/gpupdate-user.timer}}, вступили в силу следует выполнить команду:
<syntaxhighlight lang="bash">$ systemctl --user daemon-reload</syntaxhighlight>}}
 
Управлять периодичностью запуска gpupdate можно также через групповые политики (см. [[Групповые_Политики/Периодичность_запроса_конфигураций|Периодичность запроса конфигураций]]).
 
=== Установка административных шаблонов и инструментов администрирования ГП ===
 
Для задания конфигурации необходимо установить административные шаблоны (ADMX-файлы).
 
Установка ADMX-файлов и инструментов администрирования:  
[[Групповые_политики/Развёртывание|Развёртывание административных шаблонов для групповых политик]].
 
Подробнее о инструменте удалённого управления базой данных конфигурации: [[ADMC]].
 
Подробнее о инструменте редактирования настроек клиентской конфигурации: [[Групповые_политики/GPUI|GPUI]].
 
== Internals ==
 
В {{pkgL|gpupdate}} до версии 0.10.0-alt1 групповые политики кэшировались в файле {{path|/var/cache/gpupdate/registry.sqlite}} (можно просматривать его командой <code>sqlite3</code>).
 
В {{pkgL|gpupdate}}, начиная {{since|0.10.0-alt1}}, ключи реестра, полученные из объектов групповой политики (GPO), хранятся в Dconf, а не в SQLite.
 
{{Note|Машинные политики хранятся в файле {{path|/etc/dconf/db/policy.d/policy.ini}}, политики пользователя — в файле {{path|/etc/dconf/db/policy<UID>.d/policy<UID>.ini}} (где UID — идентификатор пользователя в системе).}}
 
Отследить какие политики «прилетели» на машину клиента можно, выполнив команду {{cmd|dconf dump /}}.
При выполнении этой команды с правами доменного пользователя будут выведены машинные политики и политики данного пользователя, при выполнении с правами пользователя root будут выведены только машинные политики.
 
<div class="toccolours mw-collapsible" style="width:800px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">Пример выполнения команды с правами доменного пользователя:</div>
<div class="mw-collapsible-content">
<syntaxhighlight lang="bash">[kim@w2 ~]$ dconf dump /
[SOFTWARE/Policies/Microsoft/WindowsFirewall/FirewallRules]
OpenSSH='v2.20|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=22|Name=Open SSH port|Desc=Open SSH port|'
 
[Software/BaseALT/Policies/Control]
ssh-gssapi-auth='enabled'
sshd-allow-groups='enabled'
sshd-allow-groups-list='remote'
sshd-gssapi-auth='enabled'
system-policy='gpupdate'
 
[Software/BaseALT/Policies/ReadQueue/Machine]
0="('Local Policy', '/var/cache/gpupdate/local-policy', None)"
1="('Firefox', '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{0CCFA74C-57F5-42B5-98E2-007D4A59C4C4}', 262148)"
 
[Software/BaseALT/Policies/ReadQueue/User]
0="('nm', '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{6F65CD4D-9209-4A81-9801-17A35CEE5CFD}', 131074)"
 
[Software/BaseALT/Policies/SystemdUnits]
gpupdate.service=1
oddjobd.service=1
sshd.service=1
 
[Software/Policies/Mozilla/Firefox]
DisableMasterPasswordCreation=1
PasswordManagerEnabled=1
ShowHomeButton=1
 
[Software/Policies/Mozilla/Firefox/Authentication]
SPNEGO="['.test.alt']"
 
[Software/Policies/Mozilla/Firefox/Homepage]
Locked=1
URL='https://basealt.ru'
 
[org/gnome/evolution-data-server]
migrated=true
network-monitor-gio-name=''
 
[org/mate/caja/window-state]
geometry='800x550+310+75'
maximized=false
start-with-sidebar=true
start-with-status-bar=true
start-with-toolbar=true
 
[org/mate/desktop/accessibility/keyboard]
bouncekeys-beep-reject=true
bouncekeys-delay=300
bouncekeys-enable=false
enable=false
feature-state-change-beep=false
mousekeys-accel-time=1200
mousekeys-enable=false
mousekeys-init-delay=160
mousekeys-max-speed=750
slowkeys-beep-accept=true
slowkeys-beep-press=true
slowkeys-beep-reject=false
slowkeys-delay=300
slowkeys-enable=false
stickykeys-enable=false
stickykeys-latch-to-lock=true
stickykeys-modifier-beep=true
stickykeys-two-key-off=true
timeout=120
timeout-enable=false
togglekeys-enable=false
 
[org/mate/desktop/session]
session-start=1718111448
 
[org/mate/mate-menu/plugins/applications]
last-active-tab=0
 
[org/mate/panel/general]
object-id-list=['menu-bar', 'show-desktop', 'workspace-switcher', 'window-list', 'notification-area', 'clock']
toplevel-id-list=['bottom']


В результате работы команды должна примениться локальная политика и другие настройки.
[org/mate/panel/objects/clock]
applet-iid='ClockAppletFactory::ClockApplet'
locked=true
object-type='applet'
panel-right-stick=true
position=0
toplevel-id='bottom'


=== Конфигурирование с помощью RSAT ===
[org/mate/panel/objects/clock/prefs]
custom-format=''
format='24-hour'


Для задания конфигурации с помощью RSAT необходимо скачать ADMX файлы ("'''административные шаблоны'''") из репозитория https://github.com/altlinuxteam/admx-basealt и разместить их в директории <code>\\&lt;DOMAIN&gt;\SYSVOL\&lt;DOMAIN&gt;\policies\PolicyDefinitions</code>. Корректно установленные административные шаблоны будут отображены в оснастке <code>Group Policy Management Editor</code> в разделе <code>Computer Configuration</code>&nbsp;&gt;&nbsp;<code>Policies</code>&nbsp;&gt;&nbsp;<code>Administrative Templates</code>&nbsp;&gt;&nbsp;<code>ALT System</code>:
[org/mate/panel/objects/menu-bar]
applet-iid='MateMenuAppletFactory::MateMenuApplet'
has-arrow=false
locked=true
object-type='applet'
position=0
toplevel-id='bottom'


[[File:gpme.png]]
[org/mate/panel/objects/notification-area]
applet-iid='NotificationAreaAppletFactory::NotificationArea'
locked=true
object-type='applet'
panel-right-stick=true
position=10
toplevel-id='bottom'


При выборе опции из списка справа возможно задать конфигурацию службы или параметра:
[org/mate/panel/objects/show-desktop]
applet-iid='WnckletFactory::ShowDesktopApplet'
locked=true
object-type='applet'
position=1
toplevel-id='bottom'


[[File:chrony_config.png]]
[org/mate/panel/objects/window-list]
applet-iid='WnckletFactory::WindowListApplet'
locked=true
object-type='applet'
position=20
toplevel-id='bottom'


=== Конфигурирование с помощью Alterator ===
[org/mate/panel/objects/workspace-switcher]
applet-iid='WnckletFactory::WorkspaceSwitcherApplet'
locked=true
object-type='applet'
position=10
toplevel-id='bottom'


На текущий момент конфигурирование групповых политик с помощью '''Alterator''' возможно с помощью модуля из пакета <code>alterator-gpupdate</code>:
[org/mate/panel/toplevels/bottom]
expand=true
orientation='bottom'
screen=0
size=28
y=836
y-bottom=0


[[File:Alterator-gpupdate-local-policy.png]]
[org/mate/terminal/profiles/default]
background-color='#2C2C2C2C2C2C'
background-darkness=0.94999999999999996
background-type='transparent'
bold-color='#000000000000'
foreground-color='#F5F5F5F5E4E4'
palette='#2E2E34343636:#CCCC00000000:#4E4E9A9A0606:#C4C4A0A00000:#34346565A4A4:#757550507B7B:#060698209A9A:#D3D3D7D7CFCF:#555557575353:#EFEF29292929:#8A8AE2E23434:#FCFCE9E94F4F:#72729F9FCFCF:#ADAD7F7FA8A8:#3434E2E2E2E2:#EEEEEEEEECEC'
use-theme-colors=false
visible-name='По умолчанию'</syntaxhighlight>


Функционал пока ограничен включением/выключением политики и выбором шаблона локальной политики - '''Server''' или '''Workstation''':
</div></div>


[[File:Alterator-gpupdate-screen.png]]




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


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


{| class="wikitable"
{| class="wikitable"
! Название параметров
  ! Описание
  ! Описание
  ! Комментарий
  ! Комментарий
  |-
  |-
  | Включение oddjobd.service
| sshd-gssapi-auth, ssh-gssapi-auth
| Включение аутентификации с помощью GSSAPI для sshd (механизм Control)
| Необходимо для аутентификации в домене при доступе через SSH.
|-
| sshd-allow-groups, sshd-allow-groups-list
| Ограничение аутентификации для sshd по группам wheel и remote (механизм Control)
| Необходимо для ограничения доступа при доступе через SSH для всех пользователей домена (только при наличии соответствующей привилегии).
|-
| system-policy
| Применение групповых политик при логине (механизм Control)
| Необходимо для применения групповых политик при логине.
|-
| oddjobd.service
  | Включение oddjobd.service (механизм Systemd)
  | Необходимо для обеспечения возможности запуска <code>gpupdate</code> для пользователя с правами администратора.
  | Необходимо для обеспечения возможности запуска <code>gpupdate</code> для пользователя с правами администратора.
  |-
  |-
  | Включение gpupdate.service
| gpupdate.service
  | Включение gpupdate.service (механизм Systemd)
  | Необходимо для регулярного обновления настроек машины.
  | Необходимо для регулярного обновления настроек машины.
  |-
  |-
  | Включение sshd.service
| sshd.service
  | Включение sshd.service (механизм Systemd)
  | Необходимо для обеспечения возможности удалённого администрирования.
  | Необходимо для обеспечения возможности удалённого администрирования.
  |-
  |-
  | Включение аутентификации с помощью GSSAPI для sshd
  | оpenSSH
| Необходимо для аутентификации в домене при доступе через SSH.
  | Открытие порта 22
  |-
  | Необходимо для обеспечения возможности подключения SSH на машинах при старте Firewall applier.
| Ограничение аутентификации для sshd по группам wheel и remote
  | Необходимо для ограничения доступа при доступе через SSH для всех пользователей домена (только при наличии соответствующей привилегии).
  |}
  |}


== Troubleshooting ==
В случае неописанных ошибок и «развала» отладочного вывода один из простых подходов к решению проблемы — удалить файл «реестра» {{path|/var/cache/gpupdate/registry.sqlite}} и запустить <code>gpoa</code> заново для перегенерации файла и вызова «применялки настроек».


=== Internals ===
Для диагностики механизмов применения групповых политик на клиенте можно выполнить команды:
*получить и применить настройки для текущей машины:
*:<source lang="text" highlight="1"># gpoa --loglevel 0</source>
*получить и применить настройки для пользователя ivanov:
*:<source lang="text" highlight="1"># gpoa --loglevel 0 ivanov</source>


Внутри разработанная утилита <code>gpupdate</code> имеет достаточно простое устройство и технически позволяет настраивать следующие подсистемы дистрибутива:
 
=== Коды ошибок ===
 
Сообщения, сопутствующие кодам ошибок, могут изменяться (переводиться, исправляться), но сам код уникален для определённой части программы, что позволяет однозначно идентифицировать проблему.


{| class="wikitable"
{| class="wikitable"
! Код
  ! Описание
  ! Описание
  ! Комментарий
  ! Решение
|-
| E00001
| Недостаточно прав для запуска программы <code>gpupdate</code>.
| Необходимо повысить уровень привилегий. Может помочь запуск программы от имени администратора.
  |-
  |-
  | controls
  | E00002
| Программа <code>gpupdate</code> не будет запущена из-за предыдущих ошибок.
  |
  |
  |-
  |-
  | PolicyKit
  | E00003
  | Запрет на подключение внешних устройств за счёт генерации соответствующего файла <code>.rules</code>.
  | Ошибка работы бэкэнда, которая привела к досрочному прекращению обработки групповых политик. Этот код характеризует серьёзные ошибки, которые обрабатываются на самом высоком уровне.
| Возможно, это баг в коде и необходимо отправить багрепорт в багтрекер проекта.
|-
| E00004
| Ошибка во время работы фронтенда.
| Высокоуровневая ошибка при инициализации фронтенда или во время работы appliers. С большой вероятностью может оказаться багом в коде.
|-
| E00005
| Не получилось запустить применялку политик для обновления групповых политик компьютера.
| Проверьте, что машина всё ещё в домене, демон oddjobd доступен через D-Bus и у пользователя достаточно прав для запуска ПО.
|-
| E00006
| Не получилось запустить применялку политик для обновления групповых политик пользователя.
| Проверьте, что машина всё ещё в домене, демон oddjobd доступен через D-Bus и у пользователя достаточно прав для запуска ПО.
|-
| E00007
| Невозможно инициализировать бэкэнд Samba в силу неполадок компонентов, связанных с Samba.
| Необходимо проверить инсталляцию Samba на машине, убедиться, что машина введена в домен и домен доступен.
|-
| E00008
| Невозможно инициализировать бэкэнд no-domain для выполнения процедуры бутстрапа групповых политик.
| Возможно, было произведено вмешательство в локальную политику или произошёл misconfiguration. Необходимо проверить целостность пакета local-policy и настройки домена в Alterator.
|-
| E00009
| Произошла ошибка при попытке запуска <code>adp</code>
| Необходимо обратиться к руководству по устранению неполадок проекта ADP.
|-
| E00010
| Произошёл сбой при попытке получить имя домена Active Directory
| Необходимо проверить работу доменной службы имён (DNS), а также доступность доменного LDAP. Для доступа к LDAP необходим работоспособный Kerberos, так что стоит проверить и его конфигурацию.
|-
| E00011
| Во время работы applier с пониженным уровнем привилегий произошла неполадка.
| Возможно, что в используемой групповой политике заданы параметры, для установки которых требуются права администратора. Это необходимо проверить и исправить объект групповой политики соответственно.
|-
| E00012
| Высокоуровневая ошибка инициализации бэкэнда.
| Необходимо проверить наличие условий для запуска бэкэнда. В случае с Samba — удостовериться, что машина введена в домен.
|-
| E00013
| У пользователя, запустившего программу, недостаточно прав для обновления настроек машины.
| Запустите программу с правами администратора.
|-
| E00014
| Не прошла проверка наличия билета Kerberos. Билет Kerberos нужен для доступа к сервисам домена.
| Проверьте конфигурацию Kerberos в файле <code>/etc/krb5.conf</code>. Попробуйте получить билет 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 запущен.
  |-
  |-
  | systemd
  | E00023
  | Позволяет включить или выключить сервис.
  | Не был получен ответ от D-Bus при попытке запустить GPOA для пользователя.
| Удостоверьтесь, что D-Bus работает корректно и демон oddjobd запущен. Удостоверьтесь, что у текущего пользователя достаточно прав для обращения к D-Bus.
  |-
  |-
  | Chromium
  | E00024
  | Позволяет установить домашнюю страницу браузера за счёт генерации файла машинной политики.
  | Ошибка во время работы машинного applier.
| Проверьте настройки applier вручную, чтобы убедиться, что соответствующая часть ОС не поломана.
  |-
  |-
  | Firefox
  | E00025
  | Позволяет установить домашнюю страницу браузера за счёт генерации файла машинной политики.
  | Ошибка во время инициализации пользовательского applier.
| Проверьте, что машина является частью домена и контроллер домена доступен. Удостоверьтесь, что пользователь существует. Проверьте, что соответствующая часть ОС не поломана.
  |-
  |-
  | Генерация </code>.desktop</code> файлов
  | E00026
  | Генерируем различные "ярлычки" для пользователя. На данный момент обладает определёнными ограничениями.
| Ошибка слияния машинной групповой политики.
  | Необходимо очистить кэш gpupdate.
  |-
  |-
  | Развёртвание различных настроек '''GSettings'''
  | E00027
  | Достигается за счёт генерации файла <code>.gsettings.override</code>.
  | Ошибка слияния пользовательской групповой политики.
| Необходимо очистить кэш gpupdate.
|-
| E00028
| Ошибка слияния машинной части групповой политики.
| Необходимо очистить кэш gpupdate.
|-
| E00029
| Ошибка слияния пользовательской части групповой политики.
| Необходимо очистить кэш gpupdate.
|-
| E00030
| Ошибка при запуске процесса с пониженным уровнем привилегий в контексте пользователя.
| Необходимо проверить наличие домашнего каталога пользователя, для которого выполняется gpupdate.
|-
| E00042
| Не входит в возможные значения для control.
| Ошибка возникает в случае некорректного целочисленного типа данных, прописанного в шаблонах групповых политик (ADMX-файлах).
|-
| E00055
| Ошибка при запуске pkcon_runner синхронно для компьютера.
| Необходимо проверить наличие в системе и корректность файла pkcon_runner.
|-
| E00056
| Ошибка запуска apt-get update.
| Необходимо проверить подключение к сети и корректность репозиториев, отсутствие подключённых дополнительных репозиториев.
|-
| E00057
| Ошибка установки пакета.
| Необходимо проверить наличие пакета в репозиториях, правильность имени пакета, наличие подключения к сети и наличие в системе пакета {{pkgL|packagekit}}.
|-
| E00058
| Ошибка удаления пакета.
| Вероятно, пакет не установлен в систему или в системе отсутствует пакет {{pkgL|packagekit}}.
|-
| E00059
| Не входит в возможные значения для control.
| Ошибка возникает в случае некорректного строкового типа данных, прописанного в шаблонах групповых политик (ADMX-файлах).
|-
| E00060
| Ошибка при запуске pkcon_runner синхронно для пользователя.
| Необходимо проверить наличие в системе и корректность файла pkcon_runner.
|-
| E00061
| Ошибка при запуске pkcon_runner асинхронно для компьютера.
| Необходимо проверить наличие в системе и корректность файла pkcon_runner.
|-
| E00062
| Ошибка при запуске pkcon_runner асинхронно для пользователя.
| Необходимо проверить наличие в системе и корректность файла pkcon_runner.
|-
| E00067
| Ошибка создания переменных среды.
| Необходимо убедиться в наличии переменных окружения: XDG_DATA_DIRS, XDG_RUNTIME_DIR, DBUS_SESSION_BUS_ADDRESS, PATH.
|-
| E00068
| Ошибка выполнения команды kwriteconfig5.
| Необходимо убедиться, что установлен пакет {{pkgL|kf5-kconfig}}.
  |}
  |}


== Отладка ==
== Страницы проектов ==
 
* [[Групповые_политики/gpupdate|gpupdate]], [https://github.com/altlinux/gpupdate github.com/altlinux/gpupdate]
* [[Групповые_политики/gpresult|GPResult]], [https://gitlab.basealt.space/alt/gpresult gitlab.basealt.space/alt/gpresult]
* [[Групповые_политики/ADMC|ADMC]], [https://github.com/altlinuxteam/admc github.com/altlinuxteam/admc]
* [[Групповые_политики/GPUI|GPUI]], [https://github.com/august-alt/gpui github.com/august-alt/gpui]
* admx-basealt, [https://github.com/altlinux/admx-basealt github.com/altlinux/admx-basealt]
* admx-chromium, [https://git.altlinux.org/gears/a/admx-chromium.git?a=tree;hb=c9b514730609c76a1e1c19343385f2acd8bebd59 git.altlinux.org/gears/a/admx-chromium.git]
* admx-firefox, [https://git.altlinux.org/gears/a/admx-firefox.git?a=tree;hb=f0a651379c8ccbb39c0e5c742bb325aaaea3a9af git.altlinux.org/gears/a/admx-firefox.git]
* admx-lint, [https://github.com/august-alt/admx-lint github.com/august-alt/admx-lint]
* admx-msi-setup, [https://github.com/altlinux/admx-msi-setup github.com/altlinux/admx-msi-setup]
* admx-yandex-browser, [https://git.altlinux.org/gears/a/admx-yandex-browser.git?a=tree;hb=71586b2e38a32e6216b0a6b1894bbf8563ee8720 git.altlinux.org/gears/a/admx-yandex-browser.git]
* [[Samba|samba]], [https://git.altlinux.org/gears/s/samba.git?a=tree;hb=90302c1fd6ae1c6871ef6ccd3c32a9e4458c23b9 git.altlinux.org/gears/s/samba.git]
 
== Дополнительные ссылки ==


Групповые политики кэшируются в файле {{path|/var/cache/gpupdate/registry.sqlite}} (можно просматривать его командой {{cmd|sqlite3}}).
&#128279; [https://www.altlinux.org/Видео#Групповые_политики Видео по теме Групповых политик]<br>


[[Категория:Active Directory]]
[[Категория:Active Directory]]
{{Category navigation|title=Samba|category=Samba|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Samba|category=Samba|sortkey={{SUBPAGENAME}}}}

Текущая версия от 15:31, 6 ноября 2024

Групповая политика — это набор правил, в соответствии с которыми производится настройка рабочей среды относительно локальных политик, по умолчанию. Групповые политики в реализации 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, GPUI
Включение или выключение различных служб (сервисов systemd) Стабильная Возможно установить при использовании ADMX-файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt)
Управление control framework Стабильная Возможно установить при использовании ADMX-файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt)
Управление настройками KDE Экспериментальная Возможно установить при использовании ADMX-файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt)
Управление GSettings Стабильная Возможно установить при использовании ADMX-файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt)
Управление настройками службы Polkit Стабильная Возможно установить при использовании ADMX-файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt)
Генерация ярлыков запуска программ Стабильная Стандартные средства RSAT, GPUI. С некоторыми ограничениями. Также можно делать ярлыки типа URL и делать, например, URI-ссылки smb:// для открытия Samba shares.
Подключение сетевых дисков Стабильная Стандартные средства RSAT, GPUI
Управление каталогами Стабильная Стандартные средства RSAT, GPUI
Управление INI-файлами Экспериментальная Стандартные средства RSAT, GPUI
Управление общими каталогами Экспериментальная Стандартные средства RSAT, GPUI
Управление файлами Экспериментальная Стандартные средства RSAT, GPUI
Управление переменными среды Стабильная Стандартные средства RSAT, GPUI
Управление logon-скриптами Экспериментальная Стандартные средства RSAT, GPUI
Установка программного обеспечения Экспериментальная Возможно установить при использовании ADMX-файлов ALT (пакет admx-basealt, https://github.com/altlinux/admx-basealt)
Установка пароля для локального пользователя root Не реализовано
Политика замыкания Возможно установить при использовании ADMX-файлов от Microsoft (пакет admx-msi-setup)
Периодичность запроса конфигураций Стандартные средства RSAT, GPUI
Указание прокси-сервера Стандартные средства RSAT, GPUI

Оценить полный набор возможностей могут администраторы инфраструктур на базе 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, так и на уже включённой в домен рабочей станции.

Для включения групповых политик при вводе машины в домен, следует в модуле ЦУС «Аутентификация» отметить пункт «Включить групповые политики»:

Включение групповых политик при вводе в домен 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, начиная с версии 0.9.11.2-alt1.


У машины и пользователя собственные таймеры процесса 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
Примечание: Чтобы изменения, внесённые в файл /usr/lib/systemd/user/gpupdate-user.timer, вступили в силу следует выполнить команду:
$ systemctl --user daemon-reload


Управлять периодичностью запуска gpupdate можно также через групповые политики (см. Периодичность запроса конфигураций).

Установка административных шаблонов и инструментов администрирования ГП

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

Установка ADMX-файлов и инструментов администрирования: Развёртывание административных шаблонов для групповых политик.

Подробнее о инструменте удалённого управления базой данных конфигурации: ADMC.

Подробнее о инструменте редактирования настроек клиентской конфигурации: GPUI.

Internals

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

В gpupdate, начиная  с версии 0.10.0-alt1 , ключи реестра, полученные из объектов групповой политики (GPO), хранятся в Dconf, а не в SQLite.

Примечание: Машинные политики хранятся в файле /etc/dconf/db/policy.d/policy.ini, политики пользователя — в файле /etc/dconf/db/policy<UID>.d/policy<UID>.ini (где UID — идентификатор пользователя в системе).


Отследить какие политики «прилетели» на машину клиента можно, выполнив команду dconf dump /. При выполнении этой команды с правами доменного пользователя будут выведены машинные политики и политики данного пользователя, при выполнении с правами пользователя root будут выведены только машинные политики.

Пример выполнения команды с правами доменного пользователя:
[kim@w2 ~]$ dconf dump /
[SOFTWARE/Policies/Microsoft/WindowsFirewall/FirewallRules]
OpenSSH='v2.20|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=22|Name=Open SSH port|Desc=Open SSH port|'

[Software/BaseALT/Policies/Control]
ssh-gssapi-auth='enabled'
sshd-allow-groups='enabled'
sshd-allow-groups-list='remote'
sshd-gssapi-auth='enabled'
system-policy='gpupdate'

[Software/BaseALT/Policies/ReadQueue/Machine]
0="('Local Policy', '/var/cache/gpupdate/local-policy', None)"
1="('Firefox', '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{0CCFA74C-57F5-42B5-98E2-007D4A59C4C4}', 262148)"

[Software/BaseALT/Policies/ReadQueue/User]
0="('nm', '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{6F65CD4D-9209-4A81-9801-17A35CEE5CFD}', 131074)"

[Software/BaseALT/Policies/SystemdUnits]
gpupdate.service=1
oddjobd.service=1
sshd.service=1

[Software/Policies/Mozilla/Firefox]
DisableMasterPasswordCreation=1
PasswordManagerEnabled=1
ShowHomeButton=1

[Software/Policies/Mozilla/Firefox/Authentication]
SPNEGO="['.test.alt']"

[Software/Policies/Mozilla/Firefox/Homepage]
Locked=1
URL='https://basealt.ru'

[org/gnome/evolution-data-server]
migrated=true
network-monitor-gio-name=''

[org/mate/caja/window-state]
geometry='800x550+310+75'
maximized=false
start-with-sidebar=true
start-with-status-bar=true
start-with-toolbar=true

[org/mate/desktop/accessibility/keyboard]
bouncekeys-beep-reject=true
bouncekeys-delay=300
bouncekeys-enable=false
enable=false
feature-state-change-beep=false
mousekeys-accel-time=1200
mousekeys-enable=false
mousekeys-init-delay=160
mousekeys-max-speed=750
slowkeys-beep-accept=true
slowkeys-beep-press=true
slowkeys-beep-reject=false
slowkeys-delay=300
slowkeys-enable=false
stickykeys-enable=false
stickykeys-latch-to-lock=true
stickykeys-modifier-beep=true
stickykeys-two-key-off=true
timeout=120
timeout-enable=false
togglekeys-enable=false

[org/mate/desktop/session]
session-start=1718111448

[org/mate/mate-menu/plugins/applications]
last-active-tab=0

[org/mate/panel/general]
object-id-list=['menu-bar', 'show-desktop', 'workspace-switcher', 'window-list', 'notification-area', 'clock']
toplevel-id-list=['bottom']

[org/mate/panel/objects/clock]
applet-iid='ClockAppletFactory::ClockApplet'
locked=true
object-type='applet'
panel-right-stick=true
position=0
toplevel-id='bottom'

[org/mate/panel/objects/clock/prefs]
custom-format=''
format='24-hour'

[org/mate/panel/objects/menu-bar]
applet-iid='MateMenuAppletFactory::MateMenuApplet'
has-arrow=false
locked=true
object-type='applet'
position=0
toplevel-id='bottom'

[org/mate/panel/objects/notification-area]
applet-iid='NotificationAreaAppletFactory::NotificationArea'
locked=true
object-type='applet'
panel-right-stick=true
position=10
toplevel-id='bottom'

[org/mate/panel/objects/show-desktop]
applet-iid='WnckletFactory::ShowDesktopApplet'
locked=true
object-type='applet'
position=1
toplevel-id='bottom'

[org/mate/panel/objects/window-list]
applet-iid='WnckletFactory::WindowListApplet'
locked=true
object-type='applet'
position=20
toplevel-id='bottom'

[org/mate/panel/objects/workspace-switcher]
applet-iid='WnckletFactory::WorkspaceSwitcherApplet'
locked=true
object-type='applet'
position=10
toplevel-id='bottom'

[org/mate/panel/toplevels/bottom]
expand=true
orientation='bottom'
screen=0
size=28
y=836
y-bottom=0

[org/mate/terminal/profiles/default]
background-color='#2C2C2C2C2C2C'
background-darkness=0.94999999999999996
background-type='transparent'
bold-color='#000000000000'
foreground-color='#F5F5F5F5E4E4'
palette='#2E2E34343636:#CCCC00000000:#4E4E9A9A0606:#C4C4A0A00000:#34346565A4A4:#757550507B7B:#060698209A9A:#D3D3D7D7CFCF:#555557575353:#EFEF29292929:#8A8AE2E23434:#FCFCE9E94F4F:#72729F9FCFCF:#ADAD7F7FA8A8:#3434E2E2E2E2:#EEEEEEEEECEC'
use-theme-colors=false
visible-name='По умолчанию'


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

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

Название параметров Описание Комментарий
sshd-gssapi-auth, ssh-gssapi-auth Включение аутентификации с помощью GSSAPI для sshd (механизм Control) Необходимо для аутентификации в домене при доступе через SSH.
sshd-allow-groups, sshd-allow-groups-list Ограничение аутентификации для sshd по группам wheel и remote (механизм Control) Необходимо для ограничения доступа при доступе через SSH для всех пользователей домена (только при наличии соответствующей привилегии).
system-policy Применение групповых политик при логине (механизм Control) Необходимо для применения групповых политик при логине.
oddjobd.service Включение oddjobd.service (механизм Systemd) Необходимо для обеспечения возможности запуска gpupdate для пользователя с правами администратора.
gpupdate.service Включение gpupdate.service (механизм Systemd) Необходимо для регулярного обновления настроек машины.
sshd.service Включение sshd.service (механизм Systemd) Необходимо для обеспечения возможности удалённого администрирования.
оpenSSH Открытие порта 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. Проверьте, что машина является частью домена и контроллер домена доступен. Удостоверьтесь, что пользователь существует. Проверьте, что соответствующая часть ОС не поломана.
E00026 Ошибка слияния машинной групповой политики. Необходимо очистить кэш gpupdate.
E00027 Ошибка слияния пользовательской групповой политики. Необходимо очистить кэш gpupdate.
E00028 Ошибка слияния машинной части групповой политики. Необходимо очистить кэш gpupdate.
E00029 Ошибка слияния пользовательской части групповой политики. Необходимо очистить кэш gpupdate.
E00030 Ошибка при запуске процесса с пониженным уровнем привилегий в контексте пользователя. Необходимо проверить наличие домашнего каталога пользователя, для которого выполняется gpupdate.
E00042 Не входит в возможные значения для control. Ошибка возникает в случае некорректного целочисленного типа данных, прописанного в шаблонах групповых политик (ADMX-файлах).
E00055 Ошибка при запуске pkcon_runner синхронно для компьютера. Необходимо проверить наличие в системе и корректность файла pkcon_runner.
E00056 Ошибка запуска apt-get update. Необходимо проверить подключение к сети и корректность репозиториев, отсутствие подключённых дополнительных репозиториев.
E00057 Ошибка установки пакета. Необходимо проверить наличие пакета в репозиториях, правильность имени пакета, наличие подключения к сети и наличие в системе пакета packagekit.
E00058 Ошибка удаления пакета. Вероятно, пакет не установлен в систему или в системе отсутствует пакет packagekit.
E00059 Не входит в возможные значения для control. Ошибка возникает в случае некорректного строкового типа данных, прописанного в шаблонах групповых политик (ADMX-файлах).
E00060 Ошибка при запуске pkcon_runner синхронно для пользователя. Необходимо проверить наличие в системе и корректность файла pkcon_runner.
E00061 Ошибка при запуске pkcon_runner асинхронно для компьютера. Необходимо проверить наличие в системе и корректность файла pkcon_runner.
E00062 Ошибка при запуске pkcon_runner асинхронно для пользователя. Необходимо проверить наличие в системе и корректность файла pkcon_runner.
E00067 Ошибка создания переменных среды. Необходимо убедиться в наличии переменных окружения: XDG_DATA_DIRS, XDG_RUNTIME_DIR, DBUS_SESSION_BUS_ADDRESS, PATH.
E00068 Ошибка выполнения команды kwriteconfig5. Необходимо убедиться, что установлен пакет kf5-kconfig.

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

Дополнительные ссылки

🔗 Видео по теме Групповых политик