Synology - Neue Dateien ignorieren Ordnerberechtigungen

x.treme

Captain
Registriert
Sep. 2008
Beiträge
3.096
Hallo zusammen,

folgendes Szenario:

  • Ubuntu (Docker VM) sichert den Data-Ordner via rsync in einen "Gemeinsamen Ordner" auf Synology (rsync Nutzer 1)
  • QNAP pulled sich 1x pro Tag den "Gemeinsamen Ordner" auf Synology (rsync Nutzer 2)

Der gemeinsame Ordner ist so eingestellt, dass sowohl rsync Nutzer 1 und 2 hier Zugriff haben (QNAP aber nur lesend).

Problem: Wenn nun neue Dateien von rsync Nutzer 1 im Unterordner hinzugefügt werden, hat Nutzer 2 darauf keine Berechitgung.
Ich muss diese also erneut in Synology setzen, mit dem haken "Auf diesen Ordner, Unterordner, die Daten anwenden".

Wie kann ich mir das manuelle Setzen der Berechtigungen jedes Mal ersparen?
 
Ist das ein NFS oder ein SMB Share auf der Synology?
Nutzt du die Windows-ACL oder die Unix Permissions?
Mit welchen Parametern rufst du jeweils rsync auf?

Sorry aber anhand deines Eingangsposts kann man deine Umgebung nicht nachvollziehen, da fehlen einfach Details allein um den Aufbau nachvollziehen zu können.
 
NFS und SMB sind deaktiviert. rsync push vom Ubuntu auf Synology
Code:
sudo rsync --archive --delete --fake-super --verbose -e '/usr/bin/ssh -i /home/docker/.ssh/id_rsa' /data rsync-docker@synology::docker/docker-data

Der Nutzer rsync (= für QNAP pull) hat folgende Rechte im übergeordneten gemeinsamen Ordner "docker"

1657711405540.png

Neue Dateien die via rsync von rsync-docker geschrieben werden sind für den Nutzer rsync jedoch nicht lesbar. Hier werden nur die Rechte für den Nutzer rsync-docker gesetzt.
 
Unabhängig vom eigentlichen Problem würde ich noch --numeric-ids verwenden damit die uid/gid erhalten bleibt.

Wenn du dich per SSH auf der Synology als User rsync-docker anmeldest und eine Datei in /docker/docker-data erstellst, wie sehen da die Berechtigungen aus bzw. kann (ebenfalls per SSH) dann der User rsync die Daten lesen?

Afaik verwendet Synology standardmäßig für Berechtigungen (auf Shares bzw. alle konfigurierbaren Pfade) Windows-ACLs an und nicht Unix-Permissions. Würdest du /docker/docker-data also per SMB frei geben, hättest du höchstwahrscheinlich die Berechtigungen genau so, wie du diese in der WebUI angelegt hast.
Dein Anwendungsfall sieht Synology offenbar nicht per WebUI konfigurierbar vor.
Lösungsansatz: Verpacke dein rsync in ein kleines Script was zuerst den rsync macht und anschließend sich per SSH einloggt und immer ein chmod 644 über die Dateien und 755 über die Ordner macht. Dann kann der User rsync diese nur lesen bzw. die Ordner öffnen aber eben nix schreiben.
Oder du nutzt den Pfad als SMB Share und im "Backupscript" mountest du diesen, schreibst per rsync wobei du dann -e ssh nicht mehr brauchst und unmountest diesen dann wieder.
 
  • Gefällt mir
Reaktionen: x.treme
Danke für den Hinweis mit --numeric-ids, um die Rechte zu erhalten hatte ich bis dato --fake-super genutzt (soll es in den Metadaten sichern, aber noch garnicht getestet).

Ich denke ich mach erstmal die faule Lösung: Ich nutze den selben Nutzer für den QNAP-Pull, welchen Ubuntu für's Backup nutzt. Da fällt dann ein wenig Isolation weg, da das QNAP dann auch schreiben könnte. Wird in der Realität aber wohl nie eine Auswirkung haben.
 
Zurück
Oben