Bug 53948

Summary: Переменная окружения $PATH перезаписывается стандартной конфигурацией
Product: Sisyphus Reporter: Vladislav Glinkin <glinkinvd>
Component: gpupdateAssignee: Valery Sinelnikov <greh>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: greh, nir, sin
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Vladislav Glinkin 2025-04-22 18:28:59 MSK
Версия пакета:
gpupdate-0.13.2-alt1

Шаги воспроизведения:
1) Включить механизмы настройки переменных окружения на управляющей машине
2) Создать системную переменную окружения PATH для компьютера со значением /var/comp-test
3) Применить политики на клиентской машине.

Фактический результат:
Ключи        /Software/BaseALT/Policies/GPUpdate/EnvvarsApplier       1                                    
             /Software/BaseALT/Policies/GPUpdate/GlobalExperimental   1                                    
         Настройки    Тип        Окружение                                                                          
                      Значение   /var/comp-test                                                                     
                      Действие   C                                                                                 

Переменная $PATH не меняет своё значение. Она перезаписывается стандартной конфигурацией из /etc/profile

Ожидаемый результат:
Был добавлен новый путь /var/comp-test в $PATH

===

С использованием pam_env.so и файлами /etc/gpupdate/environment, ~/.gpupdate_environment возникают проблемы с уже определёнными переменными в /etc/profile - их нельзя переписать:

[ -n "$PATH" ] || PATH="/usr/bin:/bin:/usr/local/bin"
[ "$PATH" = "$HOME/bin" -o -z "${PATH##$HOME/bin:*}" -o \
  -z "${PATH%%*:$HOME/bin}" -o -z "${PATH##*:$HOME/bin:*}" ] ||
        PATH="$HOME/bin:$PATH"
[ "$PATH" = "/usr/games" -o -z "${PATH##/usr/games:*}" -o \
  -z "${PATH%%*:/usr/games}" -o -z "${PATH##*:/usr/games:*}" ] ||
        PATH="$PATH:/usr/games"
export PATH

В таком случае, возможно, для пользовательской политики следует настраивать .profile, а для машинной - /etc/profile.d/gpupdate_path_env.sh с правами на исполнение (как пример).
С такой конфигурацией стандартное значение, определённое в /etc/profile будет перезаписано для всех пользователей, а .profile для пользователя.