Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • 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 из командной строки командой:

Command
. ~/.profile

или

Command
source ~/.profile


Информация

Если в качестве оболочки входа используется оболочка bash, то:

  • при входе в пользовательскую консольную сессию (interactive login shell) выполняется системный файлы /etc/profile, а затем проверяются пользовательские файлы ~/.bash_profile, ~/.bash_login, и ~/.profile. Пользовательские файлы проверяются в указанном порядке и выполняется первый из найденных и доступных для чтения;
  • при интерактивном запуске в пользовательской сессии (interactive shell not login shell) выполняется пользовательский файл ~/.bashrc;
  • при неинтерактивном запуске (выполнении сценария) проверяется значение переменной окружения BASH_ENV, и делается попытка исполнить указанный файл.

Кроме того, поведение bash может изменяться в зависимости от способа вызова и опций команды, подробнее см. man bash.
Проверить, какую оболочку входа использует пользователь можно командой:

Command
getent passwd $USER | sed "s/.*://"

Значения переменных окружения должны присваиваться в используемых файлах.


Системные переменные окружения

Присвоение значений переменным окружения для оболочек входа на системном уровне выполняется в файле /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.