fix(restore): nextcloud permissions on unraid shfs (no-new-privileges removal)
Zweiter Erstlauf 2026-06-03 scheiterte weiterhin mit 503, obwohl config.php korrekt gepatcht war. Ursache: Unraid's FUSE/shfs-Dateisystem auf User-Shares ignoriert chown -R 33:33 still — Dateien bleiben bei sshd:sshd. Der Nextcloud-Entrypoint versucht intern chmod/chown auf /var/www/html und /var/www/html/data, was mit no-new-privileges:true blockiert wird. Fix: - no-new-privileges vom restoretest-nextcloud Container entfernt, damit der Entrypoint Rechte im Container selbst setzen kann (Test-Postgres und Test-Redis behalten no-new-privileges) - Host-seitiger chown durch chmod a+rwX ersetzt (funktioniert auf shfs) - Vertretbar im isolierten Smoke-Kontext (127.0.0.1, Wegwerf-Daten, kein Traefik) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -57,5 +57,10 @@ services:
|
||||
# Restore-Lab-Pfade: alles isoliert, keine produktiven Mounts.
|
||||
- /mnt/user/backups/restore-lab/nextcloud/html:/var/www/html
|
||||
- /mnt/user/backups/restore-lab/nextcloud/data:/var/www/html/data
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
# KEIN no-new-privileges fuer den Smoke-Test-Container.
|
||||
# Der Nextcloud-Entrypoint fuehrt intern chown/chmod auf /var/www/html
|
||||
# und /var/www/html/data aus. Auf Unraid (FUSE/shfs) ignoriert das
|
||||
# Host-Dateisystem chown-Aufrufe von aussen, deshalb muss der
|
||||
# Container-Entrypoint die Rechte selbst setzen koennen. Im isolierten
|
||||
# Smoke-Kontext (127.0.0.1, kein Traefik, Wegwerf-Daten) ist das
|
||||
# vertretbar. Test-Postgres und Test-Redis behalten no-new-privileges.
|
||||
|
||||
@@ -126,11 +126,11 @@ mv "$EXTRACT_DIR/local/borg-dumps/latest/nextcloud.dump" "$RESTORE_ROOT/dumps/la
|
||||
# Im Restore-Lab ist das /mnt/user/backups/restore-lab/nextcloud/data.
|
||||
mkdir -p "$RESTORE_ROOT/data"
|
||||
|
||||
# Nextcloud laeuft im Container als www-data (UID 33, GID 33).
|
||||
# Die aus Borg extrahierten Dateien gehoeren typischerweise dem
|
||||
# borg-ui-Container-User (sshd o. ae.). Ohne chown scheitert Nextcloud
|
||||
# beim Start mit "chmod(): Operation not permitted" und gibt dauerhaft 503.
|
||||
chown -R 33:33 "$RESTORE_ROOT/html" "$RESTORE_ROOT/data"
|
||||
# Unraid (FUSE/shfs) ignoriert chown auf User-Shares. Stattdessen setzen
|
||||
# wir die Dateien auf world-writable, damit der Nextcloud-Entrypoint
|
||||
# (der als root startet und intern auf www-data wechselt) die Dateien
|
||||
# lesen und beschreiben kann. Im isolierten Smoke-Kontext vertretbar.
|
||||
chmod -R a+rwX "$RESTORE_ROOT/html" "$RESTORE_ROOT/data"
|
||||
|
||||
# Falls config.php einen anderen dbuser als das Test-Compose hat, patchen
|
||||
# wir die DB-Zugangsdaten in der restaurierten config.php fuer den Test.
|
||||
|
||||
Reference in New Issue
Block a user