umbau 1.3
This commit is contained in:
@ -0,0 +1,36 @@
|
||||
[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
|
||||
@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Jumphost: RDP-Laufwerksverzeichnisse regelmaessig aufraeumen
|
||||
|
||||
[Timer]
|
||||
# Alle 15 Minuten. Das Skript loescht ausschliesslich Verzeichnisse, deren
|
||||
# Sitzung in der Datenbank als BEENDET markiert ist -- ein kurzes Intervall
|
||||
# ist deshalb ungefaehrlich (keine Altersheuristik, die eine lange, aber
|
||||
# stille Sitzung mitten im Betrieb treffen koennte) und haelt die Zeitspanne
|
||||
# klein, in der uebertragene Dateien nach Sitzungsende noch auf der Platte
|
||||
# liegen.
|
||||
OnBootSec=5min
|
||||
OnUnitActiveSec=15min
|
||||
AccuracySec=1min
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
Reference in New Issue
Block a user