Bug 49039

Summary: Не выполняется удаление ini-файла после применения политики "Управление ini-файлами"
Product: Branch p10 Reporter: Vera Blagoveschenskaya <vercha>
Component: gpupdateAssignee: Valery Sinelnikov <greh>
Status: NEW --- QA Contact: qa-p10 <qa-p10>
Severity: normal    
Priority: P5    
Version: не указана   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
вывод gpoa
none
screen none

Description Vera Blagoveschenskaya 2024-01-10 18:58:37 MSK
Created attachment 15355 [details]
вывод gpoa

Стенд
-   ALT Server 10.1 в качестве Samba DC
-   ALT Workstation 10.1 в качестве клиента

gpupdate-0.9.13.4-alt1.noarch

1) Создать подразделение OU1, добавить компьютер client2 в это подразделение.

2) Клик на OU1 -> в контекстном меню подразделения (в папке «Объекты групповой политики») выбрать пункт «Создать политику и связать с этим подразделением».

3) Изменить Созданную политику: 
Включить поддержку эксперементальных групповых политик и механизм копирования ini-файлов:

Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики -> Эксперементальные групповые политики -> Включено

Пользователь -> Административные шаблоны -> Система ALT -> Групповые политики -> Механизмы GPUpdate:

Управление созданием Ini-файлов -> Включено
Управление созданием Ini-файлов для пользователей -> Включено

4) В GPUI на клиенте открыть раздел Копьютер - Настройки - Настройки системы - Ini файлы

ПКМ на пустом поле справа - Новый - Ini файлы

Настроить файл:

Действие: Создать
Путь к файлу: /var/test.ini
Имя секции: common
Имя свойства: name
Значение свойства: test
Нажать OK
Перезагрузить клиентскую систему, авторизоваться доменным пользователем.

Проверить, что файл создан в системе:
# cat /var/test.ini

5) Двойной клик на созданном ранее файле, изменить следующие параметры:

Действие: Заменить
Путь к файлу: /var/test2.ini
Нажать OK

Перезагрузить клиентскую систему.

Проверить, что файл доступен в системе:
# ls /var/ | grep test2

6) Двойной клик на созданном ранее файле, изменить следующие параметры:

Действие: Удалить
Путь к файлу: /var/test2.ini
Нажать OK

Перезагрузить клиентскую систему.

Проверить, что файл доступен в системе:
# ls /var/ | grep test2

Результат: файл НЕ удален

В IniFiles.xml:
# cat /var/lib/samba/sysvol/samba.testdomain/Policies/\{1E911231-14FE-4E39-8831-CF7FC2CEBD44\}/Machine/Preferences/IniFiles/IniFiles.xml 
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<IniFiles clsid="{694C651A-08F2-47fa-A427-34C4F62BA207}">
  <Ini bypassErrors="0" changed="2024-01-10 18:37:50" clsid="{EEFACE84-D3D8-4680-8D4B-BF103E759448}" desc="" image="0" name="test2.ini" removePolicy="0" status="" uid="{cbe855bc-0f5a-45ba-88f0-e8bc77b820b4}" userContext="0">
    <Properties action="D" path="/var/test2.ini" property="name" section="common" value=""/>
  </Ini>
</IniFiles>

Ожидаемый результат: файл удален

Аналогичным образом не удаляется ini-файл для пользовательской политики
Comment 1 Vera Blagoveschenskaya 2024-01-10 19:03:21 MSK
Created attachment 15356 [details]
screen
Comment 2 Vera Blagoveschenskaya 2024-01-10 19:14:20 MSK
https://www.altlinux.org/Групповые_политики/Управление_ini-файлами

Также дополню описание. на wiki-страничке, посвященной указанной политике, написано:

«Имя секции» — имя раздела в файле, свойство которого нужно настроить или удалить. Чтобы удалить INI-файл целиком, следует оставить это поле пустым;
«Имя свойства» — имя свойства, которое нужно настроить или удалить. Чтобы удалить целиком раздел файла или весь файл, следует оставить это поле пустым.

На практике это работает, при оставлении полей «Имя секции» и «Имя свойства» пустыми файл удаляется.

На мой взгляд, имеет место некоторое недопонимание работы функционала. 
Я выбираю опцию "Удалить", указываю имя файла и ожидаю, что файл будет удален.
Не понятно, что есть некоторое дополнительное условие для полного удаления.

Если без вышеописанных манипуляций не обойтись, то будет неплохо прямо в окне политики об этом дать пояснение.
Например, если поле «Имя секции» и «Имя свойства» не пусты, то показать желтый треугольник варнинга, что удаления файла не произойдет.