|
|
@@ -28,6 +28,18 @@
|
|
|
|
# =============================================================================
|
|
|
|
# =============================================================================
|
|
|
|
set -euo pipefail
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# **Der venv muss fuer den Dienstbenutzer lesbar sein.**
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Dieses Programm laeuft als ExecStartPre der Dienst-Unit -- und erbt damit
|
|
|
|
|
|
|
|
# deren UMask=0027. Alles, was es anlegt, gehoerte root und waere 0750: der
|
|
|
|
|
|
|
|
# Dienst selbst laeuft unprivilegiert und koennte sein eigenes site-packages
|
|
|
|
|
|
|
|
# nicht einmal betreten. Gemessen: nach der Reparatur ging "import gunicorn"
|
|
|
|
|
|
|
|
# als root, als Benutzer tesm nicht -- die Reparatur baute etwas, das genau
|
|
|
|
|
|
|
|
# der Prozess nicht benutzen konnte, fuer den sie gedacht war.
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Im venv liegt nichts Geheimes; Schluessel und Datenbank stehen woanders.
|
|
|
|
|
|
|
|
umask 022
|
|
|
|
|
|
|
|
|
|
|
|
ROOT="${1:-}"
|
|
|
|
ROOT="${1:-}"
|
|
|
|
APP="${2:-}"
|
|
|
|
APP="${2:-}"
|
|
|
|
MODUS="reparieren"
|
|
|
|
MODUS="reparieren"
|
|
|
@@ -130,6 +142,11 @@ if ! bestuecken; then
|
|
|
|
exit 1
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Und noch einmal ausdruecklich, fuer den Fall, dass ein frueherer Lauf mit
|
|
|
|
|
|
|
|
# strengerer Maske gebaut hat: was hier liegt, muss lesbar sein. Idempotent
|
|
|
|
|
|
|
|
# und in einer Sekunde durch.
|
|
|
|
|
|
|
|
chmod -R a+rX "$VENV" 2>/dev/null || true
|
|
|
|
|
|
|
|
|
|
|
|
[[ "$MODUS" == "immer" ]] || melden "INFO" "Python-Umgebung von $NAME ist wieder vollstaendig."
|
|
|
|
[[ "$MODUS" == "immer" ]] || melden "INFO" "Python-Umgebung von $NAME ist wieder vollstaendig."
|
|
|
|
rm -f "$MERKER" 2>/dev/null || true
|
|
|
|
rm -f "$MERKER" 2>/dev/null || true
|
|
|
|
exit 0
|
|
|
|
exit 0
|