Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1 и Astra Linux Special Edition РУСБ.10015-16 исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Переменные окружения для пользовательских сессий
Присвоение пользовательских значений переменным окружения может быть выполнено в файле .profile, который расположен в домашнем каталоге пользователя. Этот файл выполняется оболочкой входа (login shell) при каждом входе в пользовательскую сессию после выполнения системного файла /etc/profile, т.е. может переопределять значения переменных окружения. заданные на системном уровне.
Наиболее частое применение этого файла - изменение значения переменной окружения PATH (список каталогов, в которых производится поиск исполняемых файлов). Например, для добавления в список каталога /opt/wine-6.17 (см. Установка wine на Astra Linux) следует добавить в файл .profile строку:
PATH=/opt/wine-6.17:$PATH
Для того, чтобы применить сделанные изменения не перезапуская пользовательскую сессию, можно выполнить файл .profile из командной строки командой:
Если в качестве оболочки входа используется оболочка bash, то:
- при входе в пользовательскую консольную сессию (interactive login shell) выполняется системный файлы /etc/profile, а затем проверяются пользовательские файлы ~/.bash_profile, ~/.bash_login, и ~/.profile. Пользовательские файлы проверяются в указанном порядке и выполняется первый из найденных и доступных для чтения;
- при интерактивном запуске в пользовательской сессии (interactive shell not login shell) выполняется пользовательский файл ~/.bashrc;
- при неинтерактивном запуске (выполнении сценария) проверяется значение переменной окружения BASH_ENV, и делается попытка исполнить указанный файл.
Кроме того, поведение bash может изменяться в зависимости от способа вызова и опций команды, подробнее см. man bash.
Проверить, какую оболочку входа использует пользователь можно командой:
Значения переменных окружения должны присваиваться в используемых файлах.
Системные переменные окружения
Присвоение значений переменным окружения для оболочек входа на системном уровне выполняется в файле /etc/profile (и, если существует каталог /etc/profile.d, сценариями в файлах с расширением .sh, находящихся в этом каталоге). В отличие от пользовательских переменных системные переменные должны экспортироваться, например:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" export PATH
Присвоенные значения могут быть переопределены в пользовательских файлах (см. выше).
Переменные окружения PAM-стека
При выполнении PAM-стека (аутентификация и авторизация пользователей) используется отдельное окружение, системные параметры которого задаются в файлах /etc/security/pam_env.conf и /etc/environment, а пользовательские - в файлах ~/.pam_environment.
Подробнее см. man pam_env и man pam_env.conf.
Переменные окружения пользовательских служб
Конфигурационные файлы при запуске пользовательских служб извлекаются из каталогов:
- ~/.config/environment.d/*.conf
- /etc/environment.d/*.conf
- /run/environment.d/*.conf
- /usr/lib/environment.d/*.conf
- /etc/environment
Эти файлы не являются сценариями, и содержат пары "КЛЮЧ=ЗНАЧЕНИЕ". Подробнее cм. man environment.d.