<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>54470</bug_id>
          
          <creation_ts>2025-05-26 21:25:32 +0300</creation_ts>
          <short_desc>Не обновляется кэш групповой политики при изменении/удалении машинного logon-скрипта на DC</short_desc>
          <delta_ts>2025-05-27 17:59:53 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Branch p11</product>
          <component>samba-gpupdate</component>
          <version>unspecified</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="KALIBR-10">konsol1985ru</reporter>
          <assigned_to name="Evgeny Sinelnikov">sin</assigned_to>
          <cc>greh</cc>
    
    <cc>konsol1985ru</cc>
    
    <cc>maksimenkovda</cc>
          
          <qa_contact name="qa-p11@altlinux.org">qa-p11</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>265659</commentid>
    <comment_count>0</comment_count>
    <who name="KALIBR-10">konsol1985ru</who>
    <bug_when>2025-05-26 21:25:32 +0300</bug_when>
    <thetext>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/*
Перезагрузил клиента.
Ожидание: Отработка скрипта с исправлениями
Результат: Отработка скрипта с исправлениями</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265781</commentid>
    <comment_count>1</comment_count>
    <who name="Valery Sinelnikov">greh</who>
    <bug_when>2025-05-27 14:21:23 +0300</bug_when>
    <thetext>Возникающая проблема может быть связана с особенностями обработки изменений в групповых политиках. Когда вы вносите изменения в GPO (например, изменяете скрипт Startup), система должна автоматически увеличивать версию этой политики.

Если по какой-то причине инкремент версии не происходит, клиентские машины могут продолжать использовать кэшированную версию политики. В этом случае рекомендуется принудительно обновить политики с помощью команды:
gpupdate --force

Основная гипотеза: при изменении скрипта версия GPO не обновляется корректно, что приводит к использованию устаревших данных из кэша.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265824</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry Maksimenkov">maksimenkovda</who>
    <bug_when>2025-05-27 17:59:45 +0300</bug_when>
    <thetext>Версии:
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 &amp;&amp; systemctl status gpupdate-scripts-run.service
# На контроллере домена открыть ADMC ($ kinit administrator &amp;&amp; admc) -&gt; Объекты групповой политики -&gt; &lt;имя домена&gt; -&gt; ПКМ по Default Domain Policy -&gt; Изменить.
# Включить экспериментальные групповые политики:
    * Выбрать в разделе Компьютер -&gt; Административные шаблоны -&gt; Система ALT -&gt; Групповые политики пункт Экспериментальные групповые политики и установить в открывшемся окне отметку в поле Включено.
    * Включить политики Модуль выполнения сценариев для компьютеров и Модуль выполнения сценариев для пользователей (Компьютер -&gt; Административные шаблоны -&gt; Система ALT -&gt; Групповые политики -&gt; Механизмы GPUpdate)
# На клиентах создать скрипты:
    # echo &apos;#!/usr/bin/env bash&apos; &gt; /usr/bin/startup-log &amp;&amp; \
echo &apos;#!/usr/bin/env bash&apos; &gt; /usr/bin/shutdown-log &amp;&amp; \
echo &apos;echo [/usr/bin/startup-log] $(date): ${@} &gt;&gt; /var/log/date.log&apos; &gt;&gt; /usr/bin/startup-log &amp;&amp; \
echo &apos;echo [/usr/bin/shutdown-log] $(date): ${@} &gt;&gt; /var/log/date.log&apos; &gt;&gt; /usr/bin/shutdown-log &amp;&amp; \
echo &apos;#!/usr/bin/env bash&apos; &gt; /usr/bin/login-log &amp;&amp; \
echo &apos;#!/usr/bin/env bash&apos; &gt; /usr/bin/logoff-log &amp;&amp; \
echo &apos;echo [/usr/bin/login-log as $USER] $(date): ${@} &gt;&gt; ~/date.log&apos; &gt;&gt; /usr/bin/login-log  &amp;&amp; \
echo &apos;echo [/usr/bin/logoff-log as $USER] $(date): ${@} &gt;&gt; ~/date.log&apos; &gt;&gt; /usr/bin/logoff-log &amp;&amp; \
chmod +x /usr/bin/{startup-log,shutdown-log,login-log,logoff-log}
# На контроллере домена открыть ADMC ($ kinit administrator &amp;&amp; admc) -&gt; Объекты групповой политики -&gt; &lt;имя домена&gt; -&gt; ПКМ по Default Domain Policy -&gt; Изменить -&gt; Компьютер -&gt; Настройки системы -&gt; Скрипты.
# Запуск -&gt; Добавить -&gt; Имя скрипта: startup.sh -&gt; Аргументы: hello startup -&gt; OK -&gt; Применить, OK
# Завершение работы -&gt; Добавить -&gt; Имя скрипта: shutdown.sh -&gt; Аргументы: hello shutdown -&gt; OK -&gt; Применить, OK
# Создать скрипты на сервере:
    # uuid_policy=&quot;$(samba-tool gpo listall | grep -B1 &apos;Default Domain Policy&apos; | head -1 | cut -f &apos;2&apos; -d &apos;:&apos; | xargs)&quot;
    cd /var/lib/samba/sysvol/samba.testdomain/Policies/${uuid_policy} &amp;&amp; \
    echo &apos;#!/usr/bin/env bash&apos; &gt; MACHINE/Scripts/Startup/startup.sh &amp;&amp; \
    echo &apos;#!/usr/bin/env bash&apos; &gt; MACHINE/Scripts/Shutdown/shutdown.sh &amp;&amp; \
    echo &apos;echo [STARTUP] $(date): ${@} &gt;&gt; /var/log/date.log&apos; &gt;&gt; MACHINE/Scripts/Startup/startup.sh &amp;&amp; \
    echo &apos;echo [SHUTDOWN] $(date): ${@} &gt;&gt; /var/log/date.log&apos; &gt;&gt; MACHINE/Scripts/Shutdown/shutdown.sh
# Применить политики на клиенте:
    # gpupdate &amp;&gt; gpupdate.log &amp;&amp; gpoa --loglevel 0 &amp;&gt; gpoa.log
# Перезапустить систему клиента:
    # reboot
#  Проверить применение политик:
    # cat /var/log/date.log
# Изменить содержимое скрипта на контроллере домена:
    #uuid_policy=&quot;$(samba-tool gpo listall | grep -B1 &apos;Default Domain Policy&apos; | head -1 | cut -f &apos;2&apos; -d &apos;:&apos; | xargs)&quot; &amp;&amp; sed -i &apos;s/\[STARTUP\]/\[STARTUP NEW\]/g&apos; MACHINE/Scripts/Startup/startup.sh &amp;&amp; sed -i &apos;s/\[SHUTDOWN\]/\[SHUTDOWN NEW\]/g&apos; MACHINE/Scripts/Shutdown/shutdown.sh
# Применить групповые политики на клиентах и перезагрузиться:
    # gpupdate -t ALL &amp;&amp; reboot
# Проверить наличие изменений:
    # cat /var/log/date.log

Реальный результат: Отработал скрипт до изменений

Ожидаемый результат: Отработка скрипта с изменениями

Дополнительно: Не проверялось на Sisyphus</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>