Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023) — различия между версиями

Материал из 0x1.tv

 
(не показаны 3 промежуточные версии этого же участника)

{{vimeoembed|901892065|800|450}}
{{youtubelink|}}
|YzgG69t4FRo}}
{{SlidesSection}}
[[File:Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf|left|page=-|300px]]

{{----}}

== Thesis ==

Управление доменом со службой каталогов на базе Samba DC либо MS Active Directory поддерживается в ОС
«Альт» инструментом групповых политик. Исполнение групповых политик в дистрибутивах
«Альт» включает: графические инструменты управления службой каталогов, редактирования
параметров политик, утилиту применения параметров на клиентских компьютерах. GUI-редактор параметров политик GPUI
поддерживает стандарт admx-шаблонов. XML-структура административных шаблонов групповых политик (admx-файлов) подробно
документирована и позволяет в простой форме задавать системные настройки для компьютера, пользователя, с поддержкой
любого языка. Редактор GPUI позволяет моментально загрузить корректно подготовленный admx-шаблон и применять в работе 
наполнять параметрами файлы каталогов групповых политик (GPT    Group Policy Template). Таким образом, системные
администраторы сторонних организаций могли бы самостоятельно готовить шаблоны политик под внутренние запросы. Но
необходима поддержка второго элемента конструкции  утилиты, применяющей параметры в системе клиента.

=== Механизмы применения gpupdate ===
Применение параметров групповых политик в системе для компьютера или пользователя в ОС
«Альт» осуществляет утилита gpupdate. Утилита задействует ряд механизмов применения,
которые позволяют также самостоятельно расширить функционал вручную. Механизмы применения параметров, которые позволяют
создавать собственные политики: polkit, gsettings (dconf), control, systemd, скрипты (logon/logoff/startup/shutdown).
Механизмы с коротким описанием:


*  Polkit. Возможность добавить новые действия для правил polkit;
*  Gsettings. Управление настройками системной базы реестра dconf;
*  Systemd. Управление запуском служб Systemd;
*  Control. Управление скриптами control в настройке системы;
*  Скрипты загрузки системы и авторизации пользователя.


=== Подробный метод действия ===
Библиотека Polkit выполняет в операционной системе роль ограничителя действий приложений, преимущественно работающих на
шине D-Bus. Polkit позволяет установить степень ограничений для непривилегированного процесса при обращении к
привилегированному. Например, ограничить доступ пользователя к настройкам сети или монтированию блочного устройства
(USB-накопителя) только для тех пользователей, которые знают пароль суперпользователя. Действия приложений, для которых
заложены Polkit-ограничения, называются «actions». На основе указанных действий
«actions» возможно формирование правил «polkit-rules», согласно
которым в операционной системе и определится степень ограничений для программ и пользователей. Механизм gpupdate умеет
автоматически формировать polkit-правила. Благодаря этому возможно добавление новых групповых политик для
polkit-правил:

[[File:2023-abramov-img001.png|center]]

Свободная среда рабочего стола для UNIX-подобных операционных систем под названием Gnome породила большую серию
ответвлений прочих популярных окружений рабочего стола (desktop environment  DE). Системные настройки в GNOME хранятся
в формате dconf-файлов, для управления которыми применяется утилита GSettings. Ключи в базе данных dconf напоминают
реестр операционной системы Windows. В ОС «Альт Рабочая станция» применяется окружение
Mate, ставшее ответвлением от GNOME 2. Конфигурация DE Mate хранится в базе dconf, ключами которой управляет консольное
приложение GSettings. Механизм gpupdate управляет ключами Gsettings и через них редактирует ключи dconf. На текущий
день через групповые политики можно настраивать целый ряд параметров графической среды Mate  от фона рабочего стола до
хранителя экрана. Возможно добавить новые политики для незадействованных ключей Gsettings:
<pre>
org.mate.peripherals-touchpad vertical-edge-scrolling true
org.mate.peripherals-touchpad tap-button-three-finger 2
org.mate.peripherals-touchpad natural-scroll false
org.mate.peripherals-touchpad left-handed 'mouse'
org.mate.peripherals-touchpad tap-button-one-finger 1
org.mate.peripherals-touchpad horizontal-two-finger-scrolling false
org.mate.peripherals-touchpad two-finger-click 1
org.mate.peripherals-touchpad motion-acceleration -1.0
org.mate.peripherals-touchpad tap-button-two-finger 3
</pre>

Подсистема инициализации и управления службами Systemd в групповых политиках «Альт» может запускать или останавливать
службы. Systemd является гибким и функциональным инструментом, позволяет задавать расписание запуска служб, выполнять
монтирование и многое другое. Через групповые политики «Альт» возможно управление самостоятельно созданной
пользовательской службой.

Подсистема control в Linux-дистрибутивах является интерфейсом управления конфигурацией системы. Например, в перечне по
умолчанию control в дистрибутивах «Альт» заложена конфигурация прав суперпользователя, включение в группу wheel,
настройки Samba-сервера и другое. Возможно написание собственных control-интерфейсов для изменения системных или
прикладных настроек, управляемых в дальнейшем через групповые политики:

<pre>
su            wheelonly (public wheel wheelonly restricted)
sudo          wheelonly (public wheelonly restricted)
sudoers       strict    (strict relaxed)
sudopw        default   (default root target runas)
sudoreplay    wheelonly (public wheelonly restricted)
sudowheel     disabled  (disabled enabled)
system-auth   local     (krb5 krb5_ccreds ldap local multi pkcs11 pkcs11_strict sss winbind)
system-policy local     (local remote)
</pre>

Кроме перечисленных механизмов утилита gpupdate поддерживает работу со сценариями запуска скриптов при входе
пользователя в систему, выходе из системы, загрузке и выключении компьютера. Logon/logoff/startup/shutdown сценарии
формируются через раздел настроек системы («Preferences» в MS RSAT). В отличие от
предыдущих примеров, этот случай не связан с подготовкой admx-файлов. Однако скрипты также позволяют шире использовать
возможности дистрибутивов «Альт».

=== Вывод ===
Системные администраторы через групповые политики получают возможность добавлять правила Polkit, менять значения
параметров базы реестра Dconf, запускать службы Systemd, управлять интерфейсами Control, либо запускать выполнение
скриптов (поддерживаемых в системе). Также пользователи могут самостоятельно подготовить шаблоны admx-настроек для
задействования графического редактора политик. В итоге получаем простой инструмент расширения возможностей групповых
политик в системе.

=== Ссылки ===

# Групповые политики [ОС «Альт»] Руководство пользователя [Электронный ресурс]. URL: [https://docs.altlinux.org/ru-RU/domain/10.1/html/group-policy/index.html]
# «Альт Рабочая станция» 10.1 Руководство пользователя [Электронный ресурс]. URL: [https://docs.altlinux.org/ru-RU/alt-workstation/10.1/html/alt-workstation/index.html]
# «Альт Сервер» 10.1 Руководство пользователя [Электронный ресурс]. URL: [https://docs.altlinux.org/ru-RU/alt-server/10.1/html/alt-server/index.html]
# ALT Linux Wiki: ADMC [Электронный ресурс]. URL: [https://www.altlinux.org/ADMC]
# ALT Linux Wiki: GPUI [Электронный ресурс]. URL: [https://www.altlinux.org/]<tt>Групповые_политики</tt>[/GPUI]
# ALT Linux Team [Электронный ресурс]. URL: [https://github.com/altlinux]


{{----}}
[[File:{{#setmainimage:Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Категория:OSSDEVCONF-2023]]
[[Категория:Open-source projects]]
[[Категория:Draft]]

Текущая версия на 17:40, 18 июня 2024

Докладчик
Антон Абрамов

Групповые политики в Linux-дистрибутивах ОС «Альт» управляют многочисленными параметрами системы — более 1100 наименований. Утилита применения групповых политик в дистрибутиве ОС «Альт» — gpupdate — позволяет гибко использовать внутренние механизмы обработки загружаемых параметров. Устройство административных шаблонов групповых политик — admx-файлов — позволяет удобно и быстро задавать параметры и сохранять их в каталог Sysvol контроллера домена. В совокупности связка admx-шаблонов и gpupdate от «Базальт СПО» дают системным администраторам гибкий механизм управления доменом.

В докладе рассматриваются способы увеличения охвата параметров в системе, управляемых через групповые политики в Linux-дистрибутивах »Альт». Описываются механизмы для расширения групповых политик через admx-шаблоны и утилиту gpupdate. Приводятся примеры практической реализации.

Видео

on youtube

Презентация

Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023).pdf

Thesis

Управление доменом со службой каталогов на базе Samba DC либо MS Active Directory поддерживается в ОС «Альт» инструментом групповых политик. Исполнение групповых политик в дистрибутивах «Альт» включает: графические инструменты управления службой каталогов, редактирования параметров политик, утилиту применения параметров на клиентских компьютерах. GUI-редактор параметров политик GPUI поддерживает стандарт admx-шаблонов. XML-структура административных шаблонов групповых политик (admx-файлов) подробно документирована и позволяет в простой форме задавать системные настройки для компьютера, пользователя, с поддержкой любого языка. Редактор GPUI позволяет моментально загрузить корректно подготовленный admx-шаблон и применять в работе — наполнять параметрами файлы каталогов групповых политик (GPT — Group Policy Template). Таким образом, системные администраторы сторонних организаций могли бы самостоятельно готовить шаблоны политик под внутренние запросы. Но необходима поддержка второго элемента конструкции — утилиты, применяющей параметры в системе клиента.

Механизмы применения gpupdate

Применение параметров групповых политик в системе для компьютера или пользователя в ОС «Альт» осуществляет утилита gpupdate. Утилита задействует ряд механизмов применения, которые позволяют также самостоятельно расширить функционал вручную. Механизмы применения параметров, которые позволяют создавать собственные политики: polkit, gsettings (dconf), control, systemd, скрипты (logon/logoff/startup/shutdown). Механизмы с коротким описанием:


  • Polkit. Возможность добавить новые действия для правил polkit;
  • Gsettings. Управление настройками системной базы реестра dconf;
  • Systemd. Управление запуском служб Systemd;
  • Control. Управление скриптами control в настройке системы;
  • Скрипты загрузки системы и авторизации пользователя.


Подробный метод действия

Библиотека Polkit выполняет в операционной системе роль ограничителя действий приложений, преимущественно работающих на шине D-Bus. Polkit позволяет установить степень ограничений для непривилегированного процесса при обращении к привилегированному. Например, ограничить доступ пользователя к настройкам сети или монтированию блочного устройства (USB-накопителя) только для тех пользователей, которые знают пароль суперпользователя. Действия приложений, для которых заложены Polkit-ограничения, называются «actions». На основе указанных действий «actions» возможно формирование правил «polkit-rules», согласно которым в операционной системе и определится степень ограничений для программ и пользователей. Механизм gpupdate умеет автоматически формировать polkit-правила. Благодаря этому возможно добавление новых групповых политик для polkit-правил:

2023-abramov-img001.png

Свободная среда рабочего стола для UNIX-подобных операционных систем под названием Gnome породила большую серию ответвлений прочих популярных окружений рабочего стола (desktop environment — DE). Системные настройки в GNOME хранятся в формате dconf-файлов, для управления которыми применяется утилита GSettings. Ключи в базе данных dconf напоминают реестр операционной системы Windows. В ОС «Альт Рабочая станция» применяется окружение Mate, ставшее ответвлением от GNOME 2. Конфигурация DE Mate хранится в базе dconf, ключами которой управляет консольное приложение GSettings. Механизм gpupdate управляет ключами Gsettings и через них редактирует ключи dconf. На текущий день через групповые политики можно настраивать целый ряд параметров графической среды Mate — от фона рабочего стола до хранителя экрана. Возможно добавить новые политики для незадействованных ключей Gsettings:

org.mate.peripherals-touchpad vertical-edge-scrolling true
org.mate.peripherals-touchpad tap-button-three-finger 2
org.mate.peripherals-touchpad natural-scroll false
org.mate.peripherals-touchpad left-handed 'mouse'
org.mate.peripherals-touchpad tap-button-one-finger 1
org.mate.peripherals-touchpad horizontal-two-finger-scrolling false
org.mate.peripherals-touchpad two-finger-click 1
org.mate.peripherals-touchpad motion-acceleration -1.0
org.mate.peripherals-touchpad tap-button-two-finger 3

Подсистема инициализации и управления службами Systemd в групповых политиках «Альт» может запускать или останавливать службы. Systemd является гибким и функциональным инструментом, позволяет задавать расписание запуска служб, выполнять монтирование и многое другое. Через групповые политики «Альт» возможно управление самостоятельно созданной пользовательской службой.

Подсистема control в Linux-дистрибутивах является интерфейсом управления конфигурацией системы. Например, в перечне по умолчанию control в дистрибутивах «Альт» заложена конфигурация прав суперпользователя, включение в группу wheel, настройки Samba-сервера и другое. Возможно написание собственных control-интерфейсов для изменения системных или прикладных настроек, управляемых в дальнейшем через групповые политики:

su            wheelonly (public wheel wheelonly restricted)
sudo          wheelonly (public wheelonly restricted)
sudoers       strict    (strict relaxed)
sudopw        default   (default root target runas)
sudoreplay    wheelonly (public wheelonly restricted)
sudowheel     disabled  (disabled enabled)
system-auth   local     (krb5 krb5_ccreds ldap local multi pkcs11 pkcs11_strict sss winbind)
system-policy local     (local remote)

Кроме перечисленных механизмов утилита gpupdate поддерживает работу со сценариями запуска скриптов при входе пользователя в систему, выходе из системы, загрузке и выключении компьютера. Logon/logoff/startup/shutdown сценарии формируются через раздел настроек системы («Preferences» в MS RSAT). В отличие от предыдущих примеров, этот случай не связан с подготовкой admx-файлов. Однако скрипты также позволяют шире использовать возможности дистрибутивов «Альт».

Вывод

Системные администраторы через групповые политики получают возможность добавлять правила Polkit, менять значения параметров базы реестра Dconf, запускать службы Systemd, управлять интерфейсами Control, либо запускать выполнение скриптов (поддерживаемых в системе). Также пользователи могут самостоятельно подготовить шаблоны admx-настроек для задействования графического редактора политик. В итоге получаем простой инструмент расширения возможностей групповых политик в системе.

Ссылки

  1. Групповые политики [ОС «Альт»] Руководство пользователя [Электронный ресурс]. URL: [1]
  2. «Альт Рабочая станция» 10.1 Руководство пользователя [Электронный ресурс]. URL: [2]
  3. «Альт Сервер» 10.1 Руководство пользователя [Электронный ресурс]. URL: [3]
  4. ALT Linux Wiki: ADMC [Электронный ресурс]. URL: [4]
  5. ALT Linux Wiki: GPUI [Электронный ресурс]. URL: [5]Групповые_политики[/GPUI]
  6. ALT Linux Team [Электронный ресурс]. URL: [6]


Расширение возможностей администрирования ОС Альт через групповые политики (Антон Абрамов, OSSDEVCONF-2023)!.jpg

Примечания и ссылки