| Summary: | Не обновляется кэш групповой политики при изменении/удалении машинного logon-скрипта на DC | ||
|---|---|---|---|
| Product: | Branch p11 | Reporter: | KALIBR-10 <konsol1985ru> |
| Component: | samba-gpupdate | Assignee: | Evgeny Sinelnikov <sin> |
| Status: | NEW --- | QA Contact: | qa-p11 <qa-p11> |
| Severity: | normal | ||
| Priority: | P5 | CC: | greh, konsol1985ru, maksimenkovda |
| Version: | unspecified | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
|
Description
KALIBR-10
2025-05-26 21:25:32 MSK
Возникающая проблема может быть связана с особенностями обработки изменений в групповых политиках. Когда вы вносите изменения в GPO (например, изменяете скрипт Startup), система должна автоматически увеличивать версию этой политики. Если по какой-то причине инкремент версии не происходит, клиентские машины могут продолжать использовать кэшированную версию политики. В этом случае рекомендуется принудительно обновить политики с помощью команды: gpupdate --force Основная гипотеза: при изменении скрипта версия GPO не обновляется корректно, что приводит к использованию устаревших данных из кэша. Версии:
samba-4.20.8-alt1
gpupdate-0.13.2-alt1
alterator-gpupdate-1.3-alt1
oddjob-gpupdate-0.2.3-alt1
Системы:
ALT Server 11.0 (контроллер домена)
ALT Workstation 11.0 (клиент)
ALT Workstation K 11.0 (клиент)
Шаги воспроизведения:
# Установить пакеты на контроллере домена
# apt-get install -y admc gpui admx-basealt
# Установить на клиентах необходимые пакеты и убедиться что работает сервис gpupdate-scripts-run.service:
# apt-get install -y gpupdate gpui admc && systemctl status gpupdate-scripts-run.service
# На контроллере домена открыть ADMC ($ kinit administrator && admc) -> Объекты групповой политики -> <имя домена> -> ПКМ по Default Domain Policy -> Изменить.
# Включить экспериментальные групповые политики:
* Выбрать в разделе Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики пункт Экспериментальные групповые политики и установить в открывшемся окне отметку в поле Включено.
* Включить политики Модуль выполнения сценариев для компьютеров и Модуль выполнения сценариев для пользователей (Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики -> Механизмы GPUpdate)
# На клиентах создать скрипты:
# echo '#!/usr/bin/env bash' > /usr/bin/startup-log && \
echo '#!/usr/bin/env bash' > /usr/bin/shutdown-log && \
echo 'echo [/usr/bin/startup-log] $(date): ${@} >> /var/log/date.log' >> /usr/bin/startup-log && \
echo 'echo [/usr/bin/shutdown-log] $(date): ${@} >> /var/log/date.log' >> /usr/bin/shutdown-log && \
echo '#!/usr/bin/env bash' > /usr/bin/login-log && \
echo '#!/usr/bin/env bash' > /usr/bin/logoff-log && \
echo 'echo [/usr/bin/login-log as $USER] $(date): ${@} >> ~/date.log' >> /usr/bin/login-log && \
echo 'echo [/usr/bin/logoff-log as $USER] $(date): ${@} >> ~/date.log' >> /usr/bin/logoff-log && \
chmod +x /usr/bin/{startup-log,shutdown-log,login-log,logoff-log}
# На контроллере домена открыть ADMC ($ kinit administrator && admc) -> Объекты групповой политики -> <имя домена> -> ПКМ по Default Domain Policy -> Изменить -> Компьютер -> Настройки системы -> Скрипты.
# Запуск -> Добавить -> Имя скрипта: startup.sh -> Аргументы: hello startup -> OK -> Применить, OK
# Завершение работы -> Добавить -> Имя скрипта: shutdown.sh -> Аргументы: hello shutdown -> OK -> Применить, OK
# Создать скрипты на сервере:
# uuid_policy="$(samba-tool gpo listall | grep -B1 'Default Domain Policy' | head -1 | cut -f '2' -d ':' | xargs)"
cd /var/lib/samba/sysvol/samba.testdomain/Policies/${uuid_policy} && \
echo '#!/usr/bin/env bash' > MACHINE/Scripts/Startup/startup.sh && \
echo '#!/usr/bin/env bash' > MACHINE/Scripts/Shutdown/shutdown.sh && \
echo 'echo [STARTUP] $(date): ${@} >> /var/log/date.log' >> MACHINE/Scripts/Startup/startup.sh && \
echo 'echo [SHUTDOWN] $(date): ${@} >> /var/log/date.log' >> MACHINE/Scripts/Shutdown/shutdown.sh
# Применить политики на клиенте:
# gpupdate &> gpupdate.log && gpoa --loglevel 0 &> gpoa.log
# Перезапустить систему клиента:
# reboot
# Проверить применение политик:
# cat /var/log/date.log
# Изменить содержимое скрипта на контроллере домена:
#uuid_policy="$(samba-tool gpo listall | grep -B1 'Default Domain Policy' | head -1 | cut -f '2' -d ':' | xargs)" && sed -i 's/\[STARTUP\]/\[STARTUP NEW\]/g' MACHINE/Scripts/Startup/startup.sh && sed -i 's/\[SHUTDOWN\]/\[SHUTDOWN NEW\]/g' MACHINE/Scripts/Shutdown/shutdown.sh
# Применить групповые политики на клиентах и перезагрузиться:
# gpupdate -t ALL && reboot
# Проверить наличие изменений:
# cat /var/log/date.log
Реальный результат: Отработал скрипт до изменений
Ожидаемый результат: Отработка скрипта с изменениями
Дополнительно: Не проверялось на Sisyphus
|