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
@@ -3841,15 +3841,13 @@ def run_iso_build(
|
||||
golden_image_file = str(golden_image)
|
||||
|
||||
try:
|
||||
# De-Root-Umzug (07.09.2026): der Dienst selbst laeuft nicht mehr als
|
||||
# root, aber build_customer_iso.sh braucht es weiterhin zwingend
|
||||
# (unsquashfs/mksquashfs, CAP_MKNOD - siehe Kommentar dort). Statt den
|
||||
# ganzen Prozess wieder privilegiert laufen zu lassen, nur dieser eine
|
||||
# Aufruf per eng gefasster NOPASSWD-sudo-Regel (siehe
|
||||
# /etc/sudoers.d/provisioning-server-iso-build).
|
||||
# Laeuft seit 03.10.2026 ohne jede Privilegien-Eskalation:
|
||||
# build_customer_iso.sh legt die Kundendaten als eigene kleine
|
||||
# Squashfs-Schicht auf das Boot-Medium, statt das ganze Squashfs als
|
||||
# root neu zu packen (vorher scoped sudo, ADR-0027 - abgeloest durch
|
||||
# das Berechtigungskonzept, siehe platform-docs).
|
||||
result = subprocess.run(
|
||||
[
|
||||
"sudo",
|
||||
"bash",
|
||||
f"{TUXFLOTTE_INSTALLER_DIR}/scripts/build_customer_iso.sh",
|
||||
BOOT_MEDIUM_PATH,
|
||||
@@ -3857,8 +3855,8 @@ def run_iso_build(
|
||||
activation_code,
|
||||
wifi_ssid or "",
|
||||
# Geheimnisse per stdin statt als Argument (Kunden-ISO-Test
|
||||
# 02.10.2026, Befund B6): Argumente landen ueber sudo im
|
||||
# Klartext im Journal - siehe build_customer_iso.sh.
|
||||
# 02.10.2026, Befund B6): Argumente stehen in der
|
||||
# Prozessliste - siehe build_customer_iso.sh.
|
||||
"-",
|
||||
volid,
|
||||
],
|
||||
|
||||
Reference in new issue
Block a user