[Unit] Description=Jumphost: beendete RDP-Laufwerksverzeichnisse aufraeumen Documentation=file://{{ jumphost_home }}/scripts/cleanup_rdp_drives.py After=jumphost-app.service [Service] Type=oneshot # BEWUSST als root: /var/lib/jumphost/rdp-drives gehoert guacd (0750) und die # darin von guacd angelegten Sitzungsverzeichnisse haben Modus 0700 guacd:guacd. # Weder der App-Benutzer "{{ jumphost_app_user }}" noch guacd selbst koennen # sie zuverlaessig wieder entfernen (guacd kennt das Sitzungsende nicht) -- # ausfuehrliche Begruendung im Kopfkommentar des Skripts. User=root Group=root Environment=JUMPHOST_DATA_DIR={{ jumphost_data_dir }} ExecStart={{ jumphost_venv }}/bin/python {{ jumphost_home }}/scripts/cleanup_rdp_drives.py # Hardening: der Dienst braucht ausschliesslich Lesezugriff auf die # Sitzungsdatenbank und Schreibzugriff auf rdp-drives -- sonst nichts. NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true PrivateDevices=true ProtectKernelTunables=true ProtectKernelModules=true ProtectControlGroups=true RestrictNamespaces=true # Kein Netzwerk noetig (reiner Datei-/SQLite-Zugriff). PrivateNetwork=true RestrictAddressFamilies=AF_UNIX RestrictSUIDSGID=true LockPersonality=true ReadWritePaths={{ jumphost_data_dir }}/rdp-drives ReadOnlyPaths={{ jumphost_data_dir }} UMask=0077