Подробный гайд: Развёртывание и использование ADMX-шаблонов в домене Samba на ALT Linux
Важно понимать архитектуру
ADMX-шаблоны — это формат описания реестровых политик Microsoft. Samba AD DC не «исполняет» их, а распространяет через SYSVOL. Применение политик происходит на стороне клиентов. ADMX-политики предназначены в первую очередь для Windows-клиентов. Для Linux-клиентов в домене Samba используются другие механизмы (PAM, SSSD, dconf, Ansible и т.д.).
1. Архитектура и принципы работы
| Компонент | Роль |
|---|---|
ADMX |
XML-файл с описанием политик (без привязки к языку) |
ADML |
Файл локализации (например, ru-RU\template.adml) |
SYSVOL |
Общая папка домена, где хранятся GPO, скрипты и PolicyDefinitions |
Samba AD DC |
Контроллер домена, эмулирующий поведение Windows AD |
GPMC / RSAT |
Рекомендуемый инструмент для создания и привязки GPO |
samba-tool gpo |
Встроенная CLI-утилита (ограниченный функционал) |
2. Подготовка сервера ALT Linux
2.1. Системные требования
- ALT Linux Server p10 или p11 (x86_64)
- Статический IP, корректное имя хоста (
hostnamectl set-hostname dc1.example.com) - Отключённый
firewalld/iptablesили открытые порты:53, 88, 135, 139, 389, 445, 464, 636, 3268, 3269 - Время синхронизировано через
chronyd/ntpd(Kerberos чувствителен к рассинхрону)
2.2. Установка пакетов
sudo apt-get update
sudo apt-get install samba samba-dc samba-client samba-winbind \
samba-dc-bind-dlz samba-common-tools
В ALT Linux samba-dc автоматически тянет зависимости для работы в режиме AD DC.
2.3. Первичная настройка домена
sudo samba-tool domain provision --use-rfc2307 --interactive
# Следуйте подсказкам: Realm, Domain, DNS backend (SAMBA_INTERNAL), Admin password
Включите и запустите службы:
sudo systemctl enable --now samba winbind nmb
sudo systemctl status samba
Проверка:
samba-tool domain info
wbinfo -u
kinit Administrator@EXAMPLE.COM
3. Структура SYSVOL и размещение ADMX-шаблонов
3.1. Путь к PolicyDefinitions
/var/lib/samba/sysvol/<DOMAIN>/Policies/PolicyDefinitions/
Пример для домена EXAMPLE.COM:
/var/lib/samba/sysvol/EXAMPLE.COM/Policies/PolicyDefinitions/
3.2. Создание структуры и копирование шаблонов
DOMAIN="EXAMPLE.COM"
SYSVOL="/var/lib/samba/sysvol/${DOMAIN}/Policies/PolicyDefinitions"
sudo mkdir -p "${SYSVOL}/ru-RU"
sudo chown -R root:root "${SYSVOL}"
sudo chmod -R 755 "${SYSVOL}"
Скачайте или скопируйте ADMX-шаблоны:
# Пример: стандартные шаблоны Windows 10/11 или сторонние (Chrome, Office, etc.)
sudo cp /path/to/*.admx "${SYSVOL}/"
sudo cp /path/to/ru-RU/*.adml "${SYSVOL}/ru-RU/"
Установите корректные права:
find "${SYSVOL}" -type f -exec chmod 644 {} \;
find "${SYSVOL}" -type d -exec chmod 755 {} \;
Проверка:
Шаблоны должны быть видны по сети: \\dc1.example.com\SYSVOL\example.com\Policies\PolicyDefinitions
4. Управление групповыми политиками
4.1. Через Windows RSAT (рекомендуется)
- На рабочей станции Windows установите RSAT (Параметры → Приложения → Дополнительные компоненты)
- Откройте
gpmc.msc - Подключитесь к домену Samba
- Создайте GPO → Правый клик → «Изменить»
5. В редакторе шаблоны из PolicyDefinitions появятся автоматически в:
Конфигурация компьютера/пользователя → Политики → Административные шаблоны
4.2. Через Linux (samba-tool)
# Список GPO
samba-tool gpo listall
# Создание GPO
samba-tool gpo create "MySecurityPolicy" DC=example,DC=com
# Привязка к OU
samba-tool gpo setlink DC=example,DC=com "MySecurityPolicy"
# Просмотр привязок
samba-tool gpo listlinks DC=example,DC=com
samba-tool gpo не поддерживает редактирование содержимого GPO. Для тонкой настройки используйте RSAT или сторонние утилиты.
5. Применение политик на клиентах
5.1. Windows-клиенты
- Введите ПК в домен (
systempropertiescomputer→ Изменить → Домен) - Обновите политики:
gpupdate /force - Проверьте применение:
gpresult /h report.html
5.2. Linux-клиенты (ALT Linux)
ADMX-политики не применяются напрямую к Linux. Samba GPO для Linux-клиентов поддерживается экспериментально через winbind + pam или sssd.
В корпоративной среде ALT Linux рекомендуется:
- Использовать
realmd+sssdдля аутентификации - Управлять конфигурацией через Ansible/Puppet/
alterator - Для имитации реестровых политик использовать
dconf/gsettingsилиpam.d-скрипты
Пример базового входа в домен на клиенте ALT Linux:
sudo apt-get install realmd sssd sssd-tools adcli
sudo realm join example.com -U Administrator
sudo systemctl enable sssd
6. Диагностика и типичные ошибки
| Симптом | Причина | Решение |
|---|---|---|
| Шаблоны не видны в GPMC | Неправильный путь или права | Проверьте PolicyDefinitions в SYSVOL, права 644/755, перезапустите samba |
gpupdate не применяет GPO |
DNS/Kerberos рассинхрон | ntpq -p, klist, systemctl restart chronyd |
Ошибка Access Denied при копировании |
SELinux/AppArmor или права NTACL | samba-tool ntacl sysvolreset, проверьте apparmor-status |
samba-tool gpo не видит шаблоны |
Утилита не парсит ADMX | Это нормально. ADMX используются только GUI-редакторами |
| Клиент не видит домен | Firewall или DNS | Откройте порты, проверьте nslookup dc1.example.com |
Логи для диагностики
journalctl -u samba -f
tail -f /var/log/samba/log.samba
tail -f /var/log/samba/log.winbindd
samba-tool gpo listall --verbose
7. Безопасность и обслуживание
1. Резервное копирование SYSVOL
tar czf /backup/sysvol_$(date +%F).tar.gz /var/lib/samba/sysvol/
2. Ограничение доступа
Разрешите запись в PolicyDefinitions только группе Domain Admins:
sudo chown root:"Domain Admins" "${SYSVOL}"
sudo chmod 775 "${SYSVOL}"
3. Обновление шаблонов
Удаляйте устаревшие .admx перед копированием новых. Несоответствие версий может сломать GPO.
4. Множественные DC
При репликации SYSVOL используйте samba-tool drs replicate или настройте DFS-R. ALT Linux официально не поддерживает DFS-R, поэтому рекомендуется один DC + регулярные бэкапы.
Чек-лист перед продакшеном
- [ ] DNS и Kerberos работают стабильно
- [ ]
sysvolдоступен по\\<dc>\SYSVOL\<domain> - [ ] ADMX/ADML скопированы в
PolicyDefinitionsс правами644/755 - [ ] GPO создаётся и привязывается через RSAT
- [ ] Windows-клиенты применяют политики без ошибок
- [ ] Настроен бэкап SYSVOL и GPO
- [ ] Документированы кастомные политики и версии шаблонов