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-12-02 15:32 MSK (History)
4 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 для пользователя.
Comment 1 Котюхов Михаил Андреевич 2025-12-02 15:32:21 MSK
Актуально для версий:
 gpupdate-0.14.0-alt1
 
Воспроизводится на системах,обновленных до sisyphus:
 kworkstation-11.1.1-x86-64
 education-11.0-x86-64-kde
 education-11.0-x86-64-xfce
 workstation-11.1-x86-64