>_ IzzyLab

Практическое задание

Глобальная переменная окружения

средне

Приложения на сервере ждут переменную APP_ENV=production в окружении каждой login-сессии любого пользователя. Настрой это системно — не через правку .bashrc каждому.

Что потренируешь:
  • переменные окружения
  • /etc/profile.d
  • login-сессия
  • export

Разбор темы

Переменные окружения задают контекст для процессов, а чтобы они появлялись у всех пользователей системно, их объявляют не в личном ~/.bashrc, а на уровне всей системы. При старте login-сессии bash читает /etc/profile, который автоматически подключает (source) все *.sh-скрипты из каталога /etc/profile.d/. Ключевое слово export обязательно: без него переменная не попадёт в окружение дочерних процессов. Флаг - у su даёт именно login-сессию, поэтому так удобно проверять результат.

Что проверяется

  1. APP_ENV=production в login-шелле root
  2. APP_ENV=production у обычного пользователя

Как это выглядит