Многие организации в России переходят на Linux-решения, и планируют каким-то способом управлять своим парком машин. В общих словах им необходима массовая настройка операционных систем по некоторым шаблонам. На этот случай есть различные решения — от Ansible до Samba, но в этом материале я подробно расскажу про групповые политики от Alt. Постараюсь написать об интересных технических реализациях, собственных графических инструментах, приведу схемы, и, в двух словах, расскажу о сходстве и различии с другими популярными решениями.
Групповые политики от Alt позиционируются в качестве совместимых с решением MS Active Directory. Тема групповых политик в MS AD очень подробно задокументирована, поэтому кратко напомню только самые необходимые сведения.
Механизм групповых политик в домене требует наличие контроллера домена и его клиентов. На контроллере должна работать служба каталогов (AD), и быть настроен каталог Sysvol, в котором хранятся файлы с параметрами политик. Для каждого объекта групповой политики (GPO) в каталоге Sysvol автоматически создаются свои шаблоны групповых политик (GPT), где и расположены файлы с настройками для компьютеров и пользователей. Следовательно, задача контроллера — поддерживать актуальный Sysvol со всем его содержимым и управлять службой каталогов (Active Directory), в которой объекты групповых политик привязаны к организационным единицам (Organization Unit). Задача клиента — корректно считать файлы со своими настройками, и применить их по расписанию или принудительно. Требование для рабочего места администратора — получить необходимые инструменты управления подразделениями службы каталогов, создания объектов групповых политик (GPO) и их наполнению параметрами через admx-шаблоны или иным способом.
Решение от Alt поддерживает работу во всех трех направлениях — контроллер домена, клиент и рабочее место администратора. Начну с графических приложений для управления службой каталогов и редактирования групповых политик. В MS Windows подобный набор инструментов администратора называется RSAT - Remote Server Administration Tools, иначе говоря Средства удаленного администрирования сервера. RSAT - это набор приложений. Программисты Alt создали ряд аналогичных графических приложений для Linux.
Первое из них называется ADMC, его функции схожи с "Пользователями и компьютерами" от MS - такое же управление подразделениями службы каталогов контроллера домена.
Приложение Alt ADMC управляет объектами службы каталогов и объектами групповых политик. Т.е. выполняет операции с компьютерами, пользователями, группами, подключается к контроллерам домена и т.п. Создает объекты групповых политик, связывает их с подразделениями.
Вторая графическая утилита называется GPUI - это редактор групповых политик. Alt GPUI поддерживает загрузку admx-шаблонов с локального компьютера и политики настройки системы ("предпочтения", preferences). Этих двух инструментов уже достаточно для того, чтобы через Linux-клиент управлять групповыми политиками в Windows-домене. Предварительно установив из репозитория admx-шаблоны для Windows-машин. Либо управлять доменом на базе Samba DC с Linux-клиентами Alt. Также установив родные admx-шаблоны.
Усложним схему и добавим в домен MS AD Linux-клиенты Alt. Модуль применения групповых политик здесь называется по аналогии с MS — gpupdate. Забегая вперед отмечу, что это собственная разработка, отличная от того же самого samba-gpupdate. Alt gpupdate версии 0.9.12.6-alt1 обрабатывает более 200 собственных системных политик, и — в сумме на три браузера — около 900 политик из шаблонов браузеров Yandex, Chromium и Firefox. В случае браузерных политик речь идет о формировании корректных json-файлов браузерам для политик компьютера. Замечу, что небольшая часть из этих браузерных политик требует windows-систему и не применится самим браузером. Но в целом выходит — более 1100 управляемых параметров. В довесок системные администраторы могут дополнять набор выполняемых политик, пользуясь механизмами применения, заложенными в Alt gpupdate: polkit, control, gsettings, systemd. Это не говоря о поддержке startup\shutdown\logon\logoff скриптов из настроек системы ("предпочтений", preferences).
Механизм polkit-политик формирует правила (rules) на основе действий (actions) и позволяет настраивать ограничения в системе для приложений, поддерживающих polkit. Полный перечень доступных action можно узнать командой $pkaction
. Приложения в вашей системе, работающие с шиной D-Bus, скорее всего такую поддержку используют. Механизм control управляет состоянием одноименных системных регистров, фактически это скрипты, которые могут настраивать систему. Полный список доступных настроек можно узнать командой #control
. Механизм gsettings управляет ключами dconf через утилиту gsettings. Ряд окружений рабочего стола (Desktop Environment - DE) хранит настройки в базе dconf, в частности Gnome и ее производные. Список ключей dconf можно посмотреть командой $gsettings list-recursively
. Конкретно в Alt сформирован admx-шаблон для dconf-ключей оболочки Mate. Механизм systemd управляет запуском служб.
Для сравнения в admx-шаблонах проекта Samba содержится около 350 машинных политик, подавляющая часть которых управляет настройками сервера Samba, в том числе в роли контроллера домена. Здесь стоит упомянуть также прочие решения на ansible, которые применяются например в домене FreeIPA. В этом случае у вас нет возможности напрямую встраиваться к Sysvol и службе каталогов, как это делают Alt или Samba.
Подведу короткий итог по решению групповых политик в Linux-системе от Alt. Разработан набор инструментов с открытым кодом для работы с ГП формата MS AD на Linux системах. Это графические системы управления службой каталогов и редактор групповых политик. Для Linux-систем здесь аналогов пока нет. Можно управлять настройкой ГП в windows-домене или samba-домене через AD и Sysvol.
Это механизм применения политик на Linux-клиентах, под названием gpupdate. Аналогичный по названию, но не функционалу, механизм есть у Samba. Частичный функционал можно реализовать через ansible и схожие решения. Alt gpupdate своей разработки, с ним клиент может применять политики и в домене MS AD, и в домене Samba DC. Считывает Sysvol контроллера домена и обрабатывает.
Gpupdate поддерживает некоторую часть Windows-политик в виде отображения (mapping), и работает с довольно внушительным набор собственных политик системы Alt. Механизмы Gpupdate поддерживают управление скриптами, control, правилами policykit, настройками gsettings для окружения рабочего стола, службами systemd, системными настройками, монтирование дисков, подключение общих каталогов, и много чего еще. Поддерживают полный набор машинных групповых политик браузеров - Yandex, Firefox и Chromium.
И последнее. Код инструментов и приложений, о которых я говорил, открыт. Это свободное программное обеспечение. Ссылки на git публикую ниже.
Благодарю Марию Фоканову за оформление иллюстраций и коллег за полезные замечания к материалу.
Комментарии (7)
pincer
11.08.2023 04:54Зачем все это в 2023 году когда в 2025 все предприятия КИ перейдут на отечественное ПО?
Soviet_Anton Автор
11.08.2023 04:54Затем, что:
- Альт Линукс - это один из основных вариантов Российского ПО;
- Переход происходит не одномоментно, и называется миграцией - замещением одних систем другими;
- Переход происходит с большим трудом и хотя бы отчасти совместимые системы сильно его облегчают;
- Для перехода на Linux-системы (а все основные российские операционки на нем крутятся, не считая небольшого круга малоизвестных систем);
- Переход на российские Linux-системы хотя бы даже в пределах КИ требует огромного числа подготовленных специалистов, а их готовили преимущественно под Windows. И появление привычных (также и графических) инструментов сильно поможет нашим коллегам;
- Российские предприятия не сводятся только к КИ, есть еще тысячи "обычных" организаций и пользователей. Они также поднимают домен и управляют клиентами;
- Решение с открытым кодом и СПО, следовательно, оно развивает экономику и технические разработки нашей страны, поскольку а.) любой может его использовать; б.) любой программист может присоединиться к разработке.
Видите сколько я аргументов в ответ на ваш вопрос собрал. Надеюсь убедил.
Di-Ger
Мне не понятно, а зачем собственно поддерживается(и судя по статье успешно развивается) поддержка MS AD на Alt'ах? Или "парк машин" не планируется переводить? Или это чисто академический проект? Тогда при чем тут "переходят на Linux-решения"? Как-то неоднозначно.
Soviet_Anton Автор
Изначальная задумка, как я понимаю, была в том, чтобы к текущей инфраструктуре Windows-парка встраивать Linux-машины с Alt. Или даже шире - с Samba, если бы с их сообществом договорились. Не знаю деталей. Только предполагаю. Появился модуль gpupdate.
Если на github перейти, там видно, что проект начался еще 4 года назад.
Позднее к gpupdate добавились графические инструменты. 3 года назад. Опять же, это ведь СПО. Т.е. можно, не нарушая лицензии, поддерживать эти приложения и в других Linux-системах.
Опять же "поддержка MS AD" на Альтах идет через Samba DC. Samba через СПО поддерживает структуру службы каталогов. И получаем такую картину, как я описал. Плавной или ускоренной миграции. Можем добавлять Альт-станции к Windows-инфраструктуре - вводить в домен, настраивать групповые политики. Многие организации с этого и начинают тестирование. Потом можно расширять внедрение по необходимости.
AntonPro
Изначальная идея - это полная альтернатива MS AD со всеми модулями RSAT(далеко не все ещё разработаны) на Linux, что бы можно было построить полноценную доменную инфраструктуру без Windows вообще. Но тут с некоторыми оговорками и ограничениями, например на Linux поддерживается только плоская структура домена на сколько знаю, а так же открытым остаётся вопрос технологии миграции с MS AD на Linux.
Stanislavvv
Лет 10-12 назад обсуждались два варианта:
1) добавлять линуксовые машины в виндовую сеть
2) заменить AD линуксовыми сервисами, не выкидывая винды там, где она ещё должна работать (скажем, софт не запускается под wine)
Тогда у альта для второго варианта были решения с вебмордами, а теперь, похоже, допилили гуй.
Soviet_Anton Автор
Верно. И по первому вашему варианту сделали механизмы управления - gpupdate под Linux. И по второму варианту - сделали GUI приложения для управления службой каталогов, GPO и редактор групповых политик.