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
|
# Native (systemd): скопировать в /etc/security-alert-center/sac-api.env
|
||||||
# chmod 600 /etc/security-alert-center/sac-api.env
|
# sudo chown root:sac /etc/security-alert-center/sac-api.env
|
||||||
# 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
|
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 mkdir -p /etc/security-alert-center
|
||||||
sudo chmod 750 /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 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
|
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`
|
- `JWT_SECRET` — `openssl rand -hex 32`
|
||||||
- `SAC_PUBLIC_URL` — `https://sac.kalinamall.ru`
|
- `SAC_PUBLIC_URL` — `https://sac.kalinamall.ru`
|
||||||
- `SAC_BOOTSTRAP_API_KEY` — `python3.12 -c "import secrets; print('sac_'+secrets.token_urlsafe(32))"`
|
- `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. Миграции БД
|
## 7. Миграции БД
|
||||||
|
|
||||||
|
Проверка, что `sac` читает конфиг (должно быть без `Permission denied`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo -u sac test -r /etc/security-alert-center/sac-api.env && echo OK
|
||||||
|
```
|
||||||
|
|
||||||
|
Миграции:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /opt/security-alert-center/backend
|
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'
|
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
|
## 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` |
|
| 401 ingest | ключ в `Authorization: Bearer`; проверить `SAC_BOOTSTRAP_API_KEY` |
|
||||||
| 502 от nginx | API не слушает: `ss -lntp \| grep 8000`, `systemctl restart sac-api` |
|
| 502 от nginx | API не слушает: `ss -lntp \| grep 8000`, `systemctl restart sac-api` |
|
||||||
| Schema errors 422 | путь `EVENT_SCHEMA_PATH`, наличие файла schema |
|
| Schema errors 422 | путь `EVENT_SCHEMA_PATH`, наличие файла schema |
|
||||||
|
|||||||
Reference in New Issue
Block a user