alt linux p11 starterkit на двух виртуальных машинах. Одна в роли DC вторая член домена. Системы обновлены. На клиенте домена: samba-4.20.8-alt1 gpupdate-0.13.2-alt1.noarch alterator-gpupdate-1.3-alt1.x86_64 oddjob-gpupdate-0.2.3-alt1.x86_64 Регистрация в домене AD осуществлялась с помощью ЦУС: SSSD + Групповые политики gpupdate-scripts-run.service gpupdate.service gpupdate.timer В состоянии enabled. Отрабатывают без ошибок. На клиенте в ADMC - GPUI создал политику: Административные шаблоны - Система ALT - Групповые политики: Экспериментальные ГП: Включено Административные шаблоны - Система ALT - Групповые политики - Механизмы GPUpdate: Модули выполнения сценариев для пользователя и компьютера: Включено Добавил машинный Startup logon-скрипт, после перезагрузки он выполняется. Внёс изменения в скрипт. Выполнил gpupdate -t ALL и перезагрузил клиента. Ожидание: Отработка скрипта с исправлениями Результат: Отработал скрипт до исправления Удалил машинный Startup logon-скрипт, выполнил gpupdate -t ALL и перезагрузил клиента. Ожидание: Не отрабатывание скрипта Результат: Отработал скрипт до исправления Выполнил rm -rf /var/cache/samba/gpo_cache/* Перезагрузил клиента. Ожидание: Не отрабатывание скрипта Результат: Не отрабатывание скрипта Добавил ещё раз машинный Startup logon-скрипт Перезагрузил клиента. Ожидание: Отработка скрипта с исправлениями Результат: Не отрабатывание скрипта Выполнил rm -rf /var/cache/samba/gpo_cache/* Перезагрузил клиента. Ожидание: Отработка скрипта с исправлениями Результат: Отработка скрипта с исправлениями
Возникающая проблема может быть связана с особенностями обработки изменений в групповых политиках. Когда вы вносите изменения в 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