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

Эта задача — шаг 8 курса «Новый сервер: настройка с нуля»

Режим магазина в окружении

средне~7 мин

Скрипты магазина решают, боевой это сервер или тестовый, по переменной окружения SHOP_MODE. Сделай так, чтобы в каждой login-сессии любого пользователя была переменная SHOP_MODE=live, причём именно в окружении (её должны видеть запущенные программы). Настрой системно, а не правкой .bashrc у каждого.

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

Разбор темы

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

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

  1. SHOP_MODE=live в окружении login-шелла root
  2. SHOP_MODE=live у обычного пользователя

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