diff --git a/backends/mint-image/postinstall.sh b/backends/mint-image/postinstall.sh index f20f032..c4a13bb 100644 --- a/backends/mint-image/postinstall.sh +++ b/backends/mint-image/postinstall.sh @@ -16,7 +16,12 @@ tuxflotte_agent_fatal() { ANODE_URL="https://anode.tuxflotte.de" AGENT_REPO_RAW="https://git.tuxflotte.de/admin/provisioning-agent/raw/branch/main" -install -d -m 0700 /etc/tuxflotte || +# 0755 statt 0700: /etc/tuxflotte muss fuer alle Nutzer durchsuchbar sein, +# damit device_fingerprint (siehe unten) ohne sudo lesbar ist - einzelne +# Dateien darin bleiben trotzdem individuell geschuetzt (agent.credentials +# unten explizit chmod 0600, genau wie /etc/shadow trotz durchsuchbarem +# /etc selbst geschuetzt bleibt). +install -d -m 0755 /etc/tuxflotte || tuxflotte_agent_fatal "Verzeichnis /etc/tuxflotte konnte nicht angelegt werden." # Identifikation soll in beide Richtungen moeglich sein: die Geraeteliste @@ -24,10 +29,15 @@ install -d -m 0700 /etc/tuxflotte || # gab es auf dem installierten Geraet selbst keine Datei, um ihn mit einem # einfachen "cat" gegenzupruefen - build_device_fingerprint() (10_hardware.sh) # berechnet ihn nur einmalig waehrend des Live-Boots und haelt ihn sonst -# nirgends fest. Absichtlich Klartext, kein Secret - reiner Hardware-Hash, -# kein chmod 0600 noetig wie bei agent.credentials. +# nirgends fest. Absichtlich Klartext, kein Secret - reiner Hardware-Hash. +# Live gefunden (01.09.2026, echter Hardware-Test): trotz dieser Absicht +# war die Datei vorher nicht ohne sudo lesbar, weil das umschliessende +# Verzeichnis 0700 war (siehe oben) - explizites chmod 0644 hier, damit +# sich das nicht auf einen zufaelligen umask verlaesst. echo "${TUXFLOTTE_DEVICE_FINGERPRINT}" > /etc/tuxflotte/device_fingerprint || tuxflotte_agent_fatal "device_fingerprint konnte nicht abgelegt werden." +chmod 0644 /etc/tuxflotte/device_fingerprint || + tuxflotte_agent_fatal "Rechte fuer device_fingerprint konnten nicht gesetzt werden." cat > /etc/tuxflotte/runtime_blueprint.json <<'RUNTIME_BLUEPRINT_EOF' ${TUXFLOTTE_BLUEPRINTS_JSON} diff --git a/boot-medium/config/includes.chroot/opt/tuxflotte/backends/mint-image/postinstall.sh b/boot-medium/config/includes.chroot/opt/tuxflotte/backends/mint-image/postinstall.sh index f20f032..c4a13bb 100644 --- a/boot-medium/config/includes.chroot/opt/tuxflotte/backends/mint-image/postinstall.sh +++ b/boot-medium/config/includes.chroot/opt/tuxflotte/backends/mint-image/postinstall.sh @@ -16,7 +16,12 @@ tuxflotte_agent_fatal() { ANODE_URL="https://anode.tuxflotte.de" AGENT_REPO_RAW="https://git.tuxflotte.de/admin/provisioning-agent/raw/branch/main" -install -d -m 0700 /etc/tuxflotte || +# 0755 statt 0700: /etc/tuxflotte muss fuer alle Nutzer durchsuchbar sein, +# damit device_fingerprint (siehe unten) ohne sudo lesbar ist - einzelne +# Dateien darin bleiben trotzdem individuell geschuetzt (agent.credentials +# unten explizit chmod 0600, genau wie /etc/shadow trotz durchsuchbarem +# /etc selbst geschuetzt bleibt). +install -d -m 0755 /etc/tuxflotte || tuxflotte_agent_fatal "Verzeichnis /etc/tuxflotte konnte nicht angelegt werden." # Identifikation soll in beide Richtungen moeglich sein: die Geraeteliste @@ -24,10 +29,15 @@ install -d -m 0700 /etc/tuxflotte || # gab es auf dem installierten Geraet selbst keine Datei, um ihn mit einem # einfachen "cat" gegenzupruefen - build_device_fingerprint() (10_hardware.sh) # berechnet ihn nur einmalig waehrend des Live-Boots und haelt ihn sonst -# nirgends fest. Absichtlich Klartext, kein Secret - reiner Hardware-Hash, -# kein chmod 0600 noetig wie bei agent.credentials. +# nirgends fest. Absichtlich Klartext, kein Secret - reiner Hardware-Hash. +# Live gefunden (01.09.2026, echter Hardware-Test): trotz dieser Absicht +# war die Datei vorher nicht ohne sudo lesbar, weil das umschliessende +# Verzeichnis 0700 war (siehe oben) - explizites chmod 0644 hier, damit +# sich das nicht auf einen zufaelligen umask verlaesst. echo "${TUXFLOTTE_DEVICE_FINGERPRINT}" > /etc/tuxflotte/device_fingerprint || tuxflotte_agent_fatal "device_fingerprint konnte nicht abgelegt werden." +chmod 0644 /etc/tuxflotte/device_fingerprint || + tuxflotte_agent_fatal "Rechte fuer device_fingerprint konnten nicht gesetzt werden." cat > /etc/tuxflotte/runtime_blueprint.json <<'RUNTIME_BLUEPRINT_EOF' ${TUXFLOTTE_BLUEPRINTS_JSON}