09-terminal-entre.md (2067B)
1 # Terminal SSH «entre» 2 3 [← Índice](README.md) 4 5 ## Papel 6 7 - Utilizador Unix especial **`entre`**: ao ligar por SSH, o OpenSSH executa **`ForceCommand`** → `entre_app.py`. 8 - **Recolhe** dados (username, email, presença online, chave pública), **valida** (`entre_core.py`), **grava** JSON na fila com criação exclusiva (`O_EXCL`), **regista** log, **opcionalmente** notifica admin por email. 9 10 ## Limite explícito (facto de código) 11 12 - **`entre_app.py` / `entre_core.py` não criam contas Linux de membros.** O utilizador `entre` em si é criado por **`setup_entre.py`** com `useradd` — isso é **bootstrap do sistema**, não provisionamento de membro. 13 14 ## Ficheiros principais 15 16 | Ficheiro | Função | 17 |----------|--------| 18 | `entre_app.py` | UI terminal, passos | 19 | `entre_core.py` | Config TOML, validação, fila, log, sendmail/Mailgun | 20 | `setup_entre.py` | Instalação: `entre`, `/opt/runv/terminal`, fila, logs, drop-in sshd, modos de auth | 21 | `config.example.toml` | Modelo; `config.toml` gerado, não versionado no mesmo sítio | 22 | `templates/*.txt` | Textos editáveis | 23 | `systemd/*.path`, `*.service` | Opcional (notificações) | 24 25 ## Configuração 26 27 - `queue_dir` default `/var/lib/runv/entre-queue` 28 - `log_file` default `/var/log/runv/entre.log` 29 - Ver `terminal/config.example.toml` 30 31 ## Modos de autenticação (`setup_entre.py`) 32 33 - Documentados na docstring: `shared-password`, `key-only`, `empty-password` (estilo tilde.town), com avisos de segurança explícitos no código. 34 35 ## Documentação histórica 36 37 - O antigo `terminal/docs/ARCHITECTURE.md` referia `USO.md`, que **não existia** neste snapshot. O fluxo operacional está consolidado neste documento e em [10-user-provisioning-and-admin-ops.md](10-user-provisioning-and-admin-ops.md) (a documentação modular em `terminal/docs/` foi removida em favor de `docs/` — ver `DOCS_REBUILD_CHANGELOG.md` na raiz). 38 39 Diagrama de sequência: [diagrams/architecture.mmd](diagrams/architecture.mmd). 40 41 Próximo: [10-user-provisioning-and-admin-ops.md](10-user-provisioning-and-admin-ops.md).