ISO-Bau ohne sudo, Unit wieder voll gehaertet
build_customer_iso.sh braucht seit der Squashfs-Schicht kein root mehr: sudo-Aufruf und sudoers-Datei entfallen, NoNewPrivileges, CapabilityBoundingSet/AmbientCapabilities und RestrictSUIDSGID wieder an (Ausnahmen aus ADR-0027 zurueckgenommen). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b8015567f3
commit
16d2de6c3a
4 files changed
+25
-54
No files matched your search
@@ -13,10 +13,10 @@ Dienst, siehe [ADR-0011](https://git.tuxflotte.de/admin/platform-docs/raw/branch
|
||||
- Läuft unter einem eigenen, unprivilegierten System-User
|
||||
`provisioning-server` (nicht root - siehe `provisioning-server.service`
|
||||
und [ADR-0027](https://git.tuxflotte.de/admin/platform-docs/raw/branch/main/adr/0027-provisioning-server-de-root-per-scoped-sudo.md)).
|
||||
Der Self-Service-ISO-Bau (`run_iso_build()` in `app.py`) braucht für
|
||||
`unsquashfs`/`mksquashfs` weiterhin echtes root (Datei-Eigentümer-Erhalt im
|
||||
Squashfs) - dafür eskaliert genau dieser eine Aufruf per eng gefasster
|
||||
sudo-Regel, siehe `provisioning-server-iso-build.sudoers`.
|
||||
Seit 03.10.2026 braucht auch der Self-Service-ISO-Bau (`run_iso_build()`
|
||||
in `app.py`) kein root mehr: `build_customer_iso.sh` legt die Kundendaten
|
||||
als eigene Squashfs-Schicht auf das Boot-Medium. Die frühere sudo-Regel
|
||||
(ADR-0027) ist entfallen, die Unit hat die volle Härtung.
|
||||
|
||||
## Setup (lokal)
|
||||
|
||||
@@ -56,12 +56,10 @@ zusätzlich zum Code-Deploy nötig (einmalig, nicht Teil von `git pull`):
|
||||
diesem User gehörend.
|
||||
2. `provisioning-server.service` nach `/etc/systemd/system/` kopieren,
|
||||
`systemctl daemon-reload && systemctl enable --now provisioning-server`.
|
||||
3. `provisioning-server-iso-build.sudoers` nach
|
||||
`/etc/sudoers.d/provisioning-server-iso-build` kopieren (Eigentümer
|
||||
root:root, Modus 440), mit `visudo -cf` prüfen.
|
||||
4. `tuxflotte-installer`-Repo an den Pfad aus `TUXFLOTTE_INSTALLER_DIR`
|
||||
klonen (für den diese Sudo-Regel gilt - bei einem anderen Pfad die Regel
|
||||
entsprechend anpassen).
|
||||
3. `tuxflotte-installer`-Repo an den Pfad aus `TUXFLOTTE_INSTALLER_DIR`
|
||||
klonen (für den Dienstbenutzer lesbar).
|
||||
4. Arbeitsverzeichnis für den ISO-Bau `/srv/tuxflotte/build-tmp` dem
|
||||
Dienstbenutzer übereignen (ohne dieses Verzeichnis `/var/tmp`).
|
||||
|
||||
**Öffentliche Erreichbarkeit über Pangolin ist nicht Teil dieses Repos** —
|
||||
das ist ein separater Ops/DNS/Reverse-Proxy-Schritt.
|
||||
Reference in new issue
Block a user