Безопасность: команда ротации пароля администратора из .env
В prod пароль админа задавался только при первом создании: обычный bootstrap его из .env не берёт, панель не меняет — комментарии отсылали друг к другу. Теперь `python -m app.bootstrap --reset-admin-password` применяет ADMIN_PASSWORD к существующему админу через user_service.set_password: пароль проверяется, token_version растёт, и все админские сессии (в том числе чужие) отзываются. Обычный старт по-прежнему пароль не трогает. Процедура на Pi — в deploy/pi/README.md (правка .env → docker compose up -d → exec команды), кратко — в README. #73 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
This commit is contained in:
+12
-3
@@ -92,9 +92,18 @@ IMAGE_TAG=latest
|
||||
|
||||
> В production приложение **не стартует**, если `SECRET_KEY` дефолтный или короче 32
|
||||
> символов, а `ADMIN_PASSWORD` пустой или дефолтный (при `ADMIN_BOOTSTRAP_ENABLED=true`).
|
||||
> `ADMIN_USERNAME`/`ADMIN_PASSWORD` применяются **только при первом создании** админа: если
|
||||
> потом поменять их в `.env`, у существующего админа ничего не изменится, а штатной смены
|
||||
> пароля админа на проде пока нет (задача #73).
|
||||
> `ADMIN_USERNAME`/`ADMIN_PASSWORD` применяются автоматически **только при первом создании**
|
||||
> админа: если потом поменять их в `.env`, у существующего админа само ничего не изменится.
|
||||
>
|
||||
> **Смена пароля админа** (плановая или при утечке) — осознанной командой, через панель
|
||||
> его не сменить:
|
||||
> 1. поменять `ADMIN_PASSWORD` в `.env` на Pi;
|
||||
> 2. `docker compose up -d` — пересоздаст `app` с новым `.env` (контейнер читает `.env`
|
||||
> только при создании; без этого шага команда ниже увидит старый пароль);
|
||||
> 3. `docker compose exec app python -m app.bootstrap --reset-admin-password`.
|
||||
>
|
||||
> Все админские сессии, в том числе чужие, если пароль утёк, после этого завершаются.
|
||||
> Логин (`ADMIN_USERNAME`) команда не меняет.
|
||||
|
||||
## 4. Запуск
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user