37 lines
1.7 KiB
YAML
37 lines
1.7 KiB
YAML
---
|
|
# Die Migrationen laufen bereits automatisch beim App-Start (app/db.py:init_db).
|
|
# Diese Rolle stellt lediglich sicher, dass Verzeichnis/Rechte VOR dem ersten
|
|
# Start korrekt sind und legt optional den initialen Admin-User an.
|
|
|
|
- name: Datenverzeichnis-Rechte sicherstellen
|
|
# Befund B6 (Umsetzungsauftrag_Sonnet5.md Teil A.3): guacd (Rolle "guacd")
|
|
# laeuft als eigener Systemuser "guacd", nicht als "{{ jumphost_app_user }}",
|
|
# braucht aber Zugriff auf {{ jumphost_data_dir }}/rdp-drives fuer die
|
|
# RDP-Laufwerksumleitung. Mit reinem 0700 kommt guacd nicht einmal an
|
|
# diesem Verzeichnis VORBEI (Traversal-Rechte fehlen), unabhaengig vom
|
|
# systemd-ReadWritePaths-Hardening der guacd-Unit -- jeder Host mit
|
|
# file_transfer_enabled scheitert dann mit EACCES. 0710 gibt der Gruppe
|
|
# ausschliesslich das Traversal-Bit (kein Lesen/Auflisten von recordings/
|
|
# oder der DB-Datei) -- die guacd-Rolle nimmt den guacd-User dafuer in
|
|
# diese Gruppe auf. rdp-drives selbst bleibt zusaetzlich mit eigenen,
|
|
# engeren Rechten geschuetzt (guacd:guacd 0750, siehe Rolle "guacd").
|
|
ansible.builtin.file:
|
|
path: "{{ jumphost_data_dir }}"
|
|
state: directory
|
|
owner: "{{ jumphost_app_user }}"
|
|
group: "{{ jumphost_app_group }}"
|
|
mode: "0710"
|
|
|
|
- name: Pruefen, ob bereits eine DB existiert
|
|
ansible.builtin.stat:
|
|
path: "{{ jumphost_data_dir }}/jumphost.db"
|
|
register: _db_stat
|
|
|
|
- name: Hinweis fuer manuellen Erstadmin-Anlegeschritt ausgeben
|
|
ansible.builtin.debug:
|
|
msg: >
|
|
Keine bestehende Datenbank gefunden. Nach dem ersten Start des Dienstes
|
|
(Rolle jumphost_app) einmalig ausfuehren:
|
|
{{ jumphost_venv }}/bin/python {{ jumphost_home }}/scripts/create_admin.py --username admin
|
|
when: not _db_stat.stat.exists
|