fix(docs): sac-api.env chmod 640 root:sac для пользователя sac
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Native (systemd): скопировать в /etc/security-alert-center/sac-api.env
|
||||
# chmod 600 /etc/security-alert-center/sac-api.env
|
||||
# chown root:sac /etc/security-alert-center/sac-api.env
|
||||
# sudo chown root:sac /etc/security-alert-center/sac-api.env
|
||||
# sudo chmod 640 /etc/security-alert-center/sac-api.env
|
||||
|
||||
DATABASE_URL=postgresql+psycopg2://sac:CHANGE_ME_POSTGRES_PASSWORD@127.0.0.1:5432/sac
|
||||
|
||||
|
||||
@@ -124,13 +124,15 @@ sudo -u sac .venv/bin/pip install -r requirements.txt
|
||||
sudo mkdir -p /etc/security-alert-center
|
||||
sudo chmod 750 /etc/security-alert-center
|
||||
sudo cp /opt/security-alert-center/deploy/env.native.example /etc/security-alert-center/sac-api.env
|
||||
sudo chmod 600 /etc/security-alert-center/sac-api.env
|
||||
sudo nano /etc/security-alert-center/sac-api.env
|
||||
# Права: читает пользователь sac (systemd и alembic), не «весь мир»
|
||||
sudo chown root:sac /etc/security-alert-center/sac-api.env
|
||||
sudo chmod 640 /etc/security-alert-center/sac-api.env
|
||||
```
|
||||
|
||||
Обязательно задать:
|
||||
|
||||
- `DATABASE_URL` — с паролем PostgreSQL из шага 4
|
||||
- `DATABASE_URL` — с паролем PostgreSQL из шага 4 (если в пароле есть `#`, `@`, `%` — возьмите значение в **кавычки**: `DATABASE_URL="postgresql+psycopg2://..."`)
|
||||
- `JWT_SECRET` — `openssl rand -hex 32`
|
||||
- `SAC_PUBLIC_URL` — `https://sac.kalinamall.ru`
|
||||
- `SAC_BOOTSTRAP_API_KEY` — `python3.12 -c "import secrets; print('sac_'+secrets.token_urlsafe(32))"`
|
||||
@@ -140,11 +142,21 @@ sudo nano /etc/security-alert-center/sac-api.env
|
||||
|
||||
## 7. Миграции БД
|
||||
|
||||
Проверка, что `sac` читает конфиг (должно быть без `Permission denied`):
|
||||
|
||||
```bash
|
||||
sudo -u sac test -r /etc/security-alert-center/sac-api.env && echo OK
|
||||
```
|
||||
|
||||
Миграции:
|
||||
|
||||
```bash
|
||||
cd /opt/security-alert-center/backend
|
||||
sudo -u sac bash -c 'set -a; source /etc/security-alert-center/sac-api.env; set +a; .venv/bin/alembic upgrade head'
|
||||
```
|
||||
|
||||
Если снова `Permission denied` — повторите права из §6: `chown root:sac`, `chmod 640` на `sac-api.env`.
|
||||
|
||||
---
|
||||
|
||||
## 8. systemd
|
||||
@@ -267,7 +279,8 @@ sudo systemctl restart sac-api
|
||||
|
||||
| Симптом | Действие |
|
||||
|---------|----------|
|
||||
| `database: error` | `journalctl -u sac-api`; проверить `DATABASE_URL`, `systemctl status postgresql` |
|
||||
| `sac-api.env: Permission denied` | `sudo chown root:sac /etc/security-alert-center/sac-api.env && sudo chmod 640 ...` |
|
||||
| `database: error` / SQLAlchemy connect | Переменные не подгрузились — см. выше; проверить `DATABASE_URL`, `psql` от пользователя `sac` не нужен — проверьте URL вручную; `systemctl status postgresql` |
|
||||
| 401 ingest | ключ в `Authorization: Bearer`; проверить `SAC_BOOTSTRAP_API_KEY` |
|
||||
| 502 от nginx | API не слушает: `ss -lntp \| grep 8000`, `systemctl restart sac-api` |
|
||||
| Schema errors 422 | путь `EVENT_SCHEMA_PATH`, наличие файла schema |
|
||||
|
||||
Reference in New Issue
Block a user