Bug 53948 - Переменная окружения $PATH перезаписывается стандартной конфигурацией
Summary: Переменная окружения $PATH перезаписывается стандартной конфигурацией
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: gpupdate (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Valery Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-22 18:28 MSK by Vladislav Glinkin
Modified: 2025-04-22 18:28 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 для пользователя.