37 lines
1.3 KiB
Django/Jinja
37 lines
1.3 KiB
Django/Jinja
[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
|