>_ IzzyLab

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

Убери секрет из кода

средне

В деплой-скрипте /opt/app/run.sh захардкожен пароль от базы — он уже наверняка в истории git, но надо с чего-то начинать. Вынеси секрет в /etc/app/env с правами 600, заставь скрипт читать его оттуда, и строка пароля не должна больше встречаться в run.sh. Скрипт должен продолжать работать.

Что потренируешь:
  • безопасность
  • секреты
  • chmod
  • source
  • переменные окружения

Разбор темы

Хардкод пароля в скрипте — классическая утечка: секрет расползается по git-истории, бэкапам и чужим глазам. Правильный паттерн — вынести значение в отдельный файл с жёсткими правами (600, доступ только владельцу — ставится через chmod, проверяется через stat) и подтягивать его в рантайме. Загрузить переменные из файла в текущий шелл позволяет встроенная команда source (или её краткая форма — точка), так что переменная появится ровно там, где раньше стоял хардкод, а сама строка с паролем из скрипта исчезнет.

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

  1. пароль удалён из run.sh
  2. пароль вынесен в /etc/app/env
  3. права /etc/app/env — 600
  4. run.sh печатает connected to db

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