Групповые политики: различия между версиями
м (ADMX-файлы) |
Мария (обсуждение | вклад) (ссылка на страницу со списком видеороликов) |
||
(не показано 14 промежуточных версий 3 участников) | |||
Строка 27: | Строка 27: | ||
| [[Групповые_политики/Политики_доступа_к_съемным_носителям|Запрет на подключение внешних носителей данных]] | | [[Групповые_политики/Политики_доступа_к_съемным_носителям|Запрет на подключение внешних носителей данных]] | ||
| Стабильная | | Стабильная | ||
| Стандартные средства RSAT | | Стандартные средства RSAT, GPUI | ||
|- | |- | ||
| [[Групповые_политики/ALT_System_SystemdUnits|Включение или выключение различных служб (сервисов systemd)]] | | [[Групповые_политики/ALT_System_SystemdUnits|Включение или выключение различных служб (сервисов systemd)]] | ||
Строка 54: | Строка 54: | ||
|- | |- | ||
| [[Групповые_политики/Подключение_сетевых_дисков|Подключение сетевых дисков]] | | [[Групповые_политики/Подключение_сетевых_дисков|Подключение сетевых дисков]] | ||
| | | Стабильная | ||
| Стандартные средства RSAT, GPUI | | Стандартные средства RSAT, GPUI | ||
|- | |- | ||
Строка 219: | Строка 219: | ||
== Internals == | == 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' | |||
[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='По умолчанию'</syntaxhighlight> | |||
</div></div> | |||
=== Состав локальной политики === | === Состав локальной политики === | ||
Строка 226: | Строка 386: | ||
{| 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) | |||
| Необходимо для обеспечения возможности удалённого администрирования. | | Необходимо для обеспечения возможности удалённого администрирования. | ||
|- | |- | ||
| | | оpenSSH | ||
| Открытие порта 22 | | Открытие порта 22 | ||
| Необходимо для обеспечения возможности подключения SSH на машинах при старте Firewall applier. | | Необходимо для обеспечения возможности подключения SSH на машинах при старте Firewall applier. | ||
|} | |} | ||
== Troubleshooting == | == Troubleshooting == | ||
Строка 369: | Строка 538: | ||
| Ошибка во время инициализации пользовательского applier. | | Ошибка во время инициализации пользовательского applier. | ||
| Проверьте, что машина является частью домена и контроллер домена доступен. Удостоверьтесь, что пользователь существует. Проверьте, что соответствующая часть ОС не поломана. | | Проверьте, что машина является частью домена и контроллер домена доступен. Удостоверьтесь, что пользователь существует. Проверьте, что соответствующая часть ОС не поломана. | ||
|- | |||
| E00026 | |||
| Ошибка слияния машинной групповой политики. | |||
| Необходимо очистить кэш gpupdate. | |||
|- | |||
| E00027 | |||
| Ошибка слияния пользовательской групповой политики. | |||
| Необходимо очистить кэш 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}}. | |||
|} | |} | ||
== Страницы проектов == | == Страницы проектов == | ||
* https://github.com/altlinux/gpupdate | * [[Групповые_политики/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] | |||
== Дополнительные ссылки == | |||
🔗 [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, так и на уже включённой в домен рабочей станции.
Для включения групповых политик при вводе машины в домен, следует в модуле ЦУС «Аутентификация» отметить пункт «Включить групповые политики»:
Если рабочая станция уже находится в домене, конфигурирование групповых политик с помощью 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
Управлять периодичностью запуска 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.
Отследить какие политики «прилетели» на машину клиента можно, выполнив команду 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. |
Страницы проектов
- gpupdate, github.com/altlinux/gpupdate
- GPResult, gitlab.basealt.space/alt/gpresult
- ADMC, github.com/altlinuxteam/admc
- GPUI, github.com/august-alt/gpui
- admx-basealt, github.com/altlinux/admx-basealt
- admx-chromium, git.altlinux.org/gears/a/admx-chromium.git
- admx-firefox, git.altlinux.org/gears/a/admx-firefox.git
- admx-lint, github.com/august-alt/admx-lint
- admx-msi-setup, github.com/altlinux/admx-msi-setup
- admx-yandex-browser, git.altlinux.org/gears/a/admx-yandex-browser.git
- samba, git.altlinux.org/gears/s/samba.git