NEWS
Rechteprobleme mit Backitup und NFS NAS sicherung
-
@luft-post Hallo,
ich habe gerade die Sicherung mit Backitup zu meiner Synology NAS per NFS hinbekommen.
Um nicht als root eine NFS-Verbindung herstellen zu müssen, muss auf dem Host (bei mir der Rpi) die fstab in /etc/fstab bearbeitet werden.
Hier ist mein Eintrag: "users" führt dazu, dass sämtliche user auf dem Rpi mounten dürfen. Die NFS-Version habe ich in der NAS-Oberfläche ausgewählt. Auf Wunsch kann ich Screenshots senden.
NAS:/volume1/backup /opt/iobroker/backups nfs auto,nfsvers=4.1,users,defaults,rsize=32768,wsize=32768,intr 0 0
Dann war das Problem, dass Backitup nicht die Rechte hatte in backups zu schreiben, sobald eine NFS-Verbindung da war (ohne ging es). Ich habe mit
ls -l /opt/iobroker
gesehen, dass in den Ordner backups gar niemand schreiben darf:
total 320 d--------- 4 root root 4096 Nov 30 20:25 backups -rwxrwxrwx+ 1 iobroker iobroker 237 Nov 16 11:51 INSTALLER_INFO.txt lrwxrwxrwx 1 iobroker iobroker 22 Nov 16 11:51 iob -> /opt/iobroker/iobroker -rwxr-xr-x+ 1 iobroker iobroker 309 Nov 16 11:51 iobroker drwxrwxr-x+ 8 iobroker iobroker 4096 Nov 30 18:11 iobroker-data drwxrwxr-x+ 2 iobroker iobroker 4096 Nov 30 20:44 log drwxrwxr-x+ 502 iobroker iobroker 20480 Nov 25 22:34 node_modules -rw-rwxr--+ 1 iobroker iobroker 492 Nov 25 22:34 package.json -rw-rwxr--+ 1 iobroker iobroker 281765 Nov 25 22:34 package-lock.json
Also habe ich die read/write-Rechte verändert.
Im /opt/iobroker Verzeichnis dazu
sudo chmod 777 backups/
eingeben.
Nun steht folgendes:
drwxrwxrwx 4 root root 4096 Nov 30 20:25 backups -rwxrwxrwx+ 1 iobroker iobroker 237 Nov 16 11:51 INSTALLER_INFO.txt lrwxrwxrwx 1 iobroker iobroker 22 Nov 16 11:51 iob -> /opt/iobroker/iobroker -rwxr-xr-x+ 1 iobroker iobroker 309 Nov 16 11:51 iobroker drwxrwxr-x+ 8 iobroker iobroker 4096 Nov 30 18:11 iobroker-data drwxrwxr-x+ 2 iobroker iobroker 4096 Nov 30 20:44 log drwxrwxr-x+ 502 iobroker iobroker 20480 Nov 25 22:34 node_modules -rw-rwxr--+ 1 iobroker iobroker 492 Nov 25 22:34 package.json -rw-rwxr--+ 1 iobroker iobroker 281765 Nov 25 22:34 package-lock.json
Das Backup lief jetzt per Backitup problemlos durch.
Wie gesagt: Screenshots von Backitup-Einstellungen und Synology-NAS-Einstellungen liefer ich gerne nach.
Als Pfad in Backitup habe ich übrigens /volume1/backup stehen.
-
@oromis sagte in Rechteprobleme mit Backitup und NFS NAS sicherung:
chmod 777 backups/
Darf auf Verzeichnisse mit ACLs nicht verwendet werden.
Und 777 ist i.d.R. ohnehin Murks.
getfacl /opt/iobroker/backups
sagt?
-
@thomas-braun Ich hatte mir auch schon überlegt, dass iobroker fix wohl die Rechte wieder anpasst.
getfacl: Removing leading '/' from absolute path names # file: opt/iobroker/backups # owner: iobroker # group: iobroker user::rwx group::r-x group:iobroker:rwx mask::rwx other::r-x default:user::rwx default:group::r-x default:group:iobroker:rwx default:mask::rwx default:other::r-x
ist meine Ausgabe. Hast du eine alternative Idee, wie man das Rechteproblem mit NFS umgehen kann?
-
@oromis sagte in Rechteprobleme mit Backitup und NFS NAS sicherung:
dass iobroker fix wohl die Rechte wieder anpasst.
Hast du das jetzt getan?
Denn die Ausgabe von getfacl sieht jetzt richtig aus, mit dem chmod 777 müsste die eigentlich anders aussehen.Hast du eine alternative Idee, wie man das Rechteproblem mit NFS umgehen kann?
Die Rechte müssen auf dem Server angepasst werden, nicht auf dem Client/Mountpunkt.
NFS funktioniert über die uid der jeweiligen user (jedenfalls in der Grundeinstellung). Musst halt schauen was der 'iobroker' für eine uid hat und die entsprechend auf dem Server berechtigen. -
@thomas-braun Nein, ich habe "iobroker fix" noch nicht drüberlaufen lassen. Nach einem erfolgreichen Backitup-Backup liefert
ls -l /opt/iobroker
total 320 drwxrwxr-x+ 2 iobroker iobroker 4096 Nov 27 23:48 backups -rwxrwxrwx+ 1 iobroker iobroker 237 Nov 16 11:51 INSTALLER_INFO.txt lrwxrwxrwx 1 iobroker iobroker 22 Nov 16 11:51 iob -> /opt/iobroker/iobroker -rwxr-xr-x+ 1 iobroker iobroker 309 Nov 16 11:51 iobroker drwxrwxr-x+ 8 iobroker iobroker 4096 Nov 30 22:08 iobroker-data drwxrwxr-x+ 2 iobroker iobroker 4096 Nov 30 21:16 log drwxrwxr-x+ 502 iobroker iobroker 20480 Nov 25 22:34 node_modules -rw-rwxr--+ 1 iobroker iobroker 492 Nov 25 22:34 package.json -rw-rwxr--+ 1 iobroker iobroker 281765 Nov 25 22:34 package-lock.json
also eine Änderung.
Den zweiten Teil mit den Rechten verstehe ich nicht ganz: Meinst du die Eintragung in /etc/fstab auf dem Rpi?
-
@oromis sagte in Rechteprobleme mit Backitup und NFS NAS sicherung:
Meinst du die Eintragung in /etc/fstab auf dem Rpi?
Nein, auf dem NFS-Server müssen die User gleichlautend angelegt sein.
Außer man spasht da, aber in der reinen Lehre macht man das nicht. -
@thomas-braun So etwas ähnliches schreibt Synology auch in ihrer Hilfe:
https://kb.synology.com/en-br/DSM/help/DSM/AdminCenter/file_share_privilege_nfs?version=7
"Map all users to admin" wird jedoch nach einer kurzen Googlesuche sicherheitstechnisch abgeraten und hat bei mir auch nicht funktioniert. Erst der entsprechende Eintrag in der fstab auf dem Rpi, hat dafür gesorgt, dass ich ohne sudo mounten konnte.Hier meine Einstellungen in der NAS:
Was ich aber noch nicht so wirklich verstehe:
-
Warum fehlen jedem Benutzer inkl. root die rwx-Rechte bei aktivem Mount über NFS für den Ordner /opt/iobroker/backups? Bzw. wie kann Backitup auch ohne NFS-Verbindung bei "d---------" überhaupt in dem Ordner Verzeichnisse erstellen? Oder ändern sich die Rechte in "d---------" mit dem mount per NFS und davor sind sie sowas wie "drwxrwxr-x+"? Also so wie es bei mir aktuell ausschaut.
-
Warum ist der NFS-Mount ohne sudo über /etc/fstab ein Problem, wenn das Backup auch mit einem Mount mit Root-Rechte fehl schlägt?
Edit:
Ah, ich hoffe ich reime mir jetzt keinen Müll zusammen, aber kann es sein, dass /opt/iobroker/backups ohne NFS-Mount relativ normale rwx-Rechte hat und dann eben - so wie es in der Synology-Hilfe auch steht ("...or else the client will be assigned the permissions of others when accessing the shared folder.") - bei einem NFS-Mount die Rechte entzogen werden.Mit dem chmod habe ich dann vermutlich "or give "Everyone" permissions to the shared folder" durchgeführt. Eleganter wäre es dann also, wie du schreibst, auf der NAS einen Benutzer, der die gleiche UID und GID, wie auf dem Rpi der iobroker-Benutzer, zu erstellen. Ist das so sinnvoll? -
-
@oromis sagte in Rechteprobleme mit Backitup und NFS NAS sicherung:
Warum fehlen jedem Benutzer inkl. root die rwx-Rechte bei aktivem Mount über NFS für den Ordner /opt/iobroker/backups?
Weil die lokalen uid nicht auf dem NFS-Server bererchtigt sind.
Bzw. wie kann Backitup auch ohne NFS-Verbindung bei "d---------" überhaupt in dem Ordner Verzeichnisse erstellen?
Über die ACL-Rechte. Der Order hat ja mehr als die in ls gezeigten Rechte. Sieht man am + am Ende der Rechte.
Warum ist der NFS-Mount ohne sudo über /etc/fstab ein Problem, wenn das Backup auch mit einem Mount mit Root-Rechte fehl schlägt?
Ist kein Problem. Aber auf dem Server müssen die user halt auch Rechte haben.
-
@thomas-braun Okay, super danke. Sorry, für mich ist das alles Neuland als Windows-User.
Ich habe meinen vorherigen Post nochmal editiert, während du die Antwort geschrieben hast (habs durchgestrichen, da es z.T. Müll war, was ich geschrieben habe, nachdem ich deine Erklärung gelesen habe). D.h. mein letzter Satz in dem Edit "Eleganter wäre es dann also, wie du schreibst, auf der NAS einen Benutzer, der die gleiche UID und GID, wie auf dem Rpi der iobroker-Benutzer, zu erstellen. Ist das so sinnvoll?" wäre dann die saubere Lösung?
-
@oromis sagte in Rechteprobleme mit Backitup und NFS NAS sicherung:
"Eleganter wäre es dann also, wie du schreibst, auf der NAS einen Benutzer, der die gleiche UID und GID, wie auf dem Rpi der iobroker-Benutzer, zu erstellen. Ist das so sinnvoll?"
Das wäre der übliche Weg wie NFS tickt. Ob das auf der Synology so umsetzbar ist weiß ich nicht, hab so'ne Kiste nicht.
-
@thomas-braun Danke dir, das werde ich mal erforschen. Da auf meinem Pi sonst überhaupt nichts läuft außer iobroker, kann ich mit dem aktuellen Stand erstmal leben, solange Updates nicht wieder was daran ändern.
Einfacher wäre natürlich die Sicherung mit einem USB-Stick am Pi
-
https://kb.synology.com/de-de/DSM/help/DSM/AdminCenter/file_share_privilege_nfs?version=7
Da ist es erklärt:
Wenn die Sicherheitsvariante AUTH_SYS implementiert wird: Der Client muss genau dieselbe numerische UID (Benutzer-ID) und GID (Gruppen-ID) auf dem NFS-Client und dem Synology NAS verwenden
Schau mit
sudo -u iobroker id
nach, der iobroker sollte eigentlich die 1001 haben.
-
@thomas-braun Genau! Das habe ich auf Englisch oben in den Spoiler-Tags zitiert. Wie gesagt, ich schau mal nach den UID und GID auf der Synology. Aber nicht mehr heute
Edit: Hier ist die Antwort:
https://www.synology-wiki.de/index.php/NFS-Konfiguration#NFS_und_Benutzerrechte
-
Dann muss offenbar die uid des iobrokers von 1001 auf die ggf. abweichende von der Diskstation angepasst werden.
-
Habe jetzt nach der Anleitung die UID und GID auf dem Rpi angepasst und iobroker fix laufen lassen. Das Backup lief ohne Probleme durch. Die Meldungen waren:
Started iobroker ... [DEBUG] [mount] - nfs-mount command: "mount NAS:/volume1/backup /opt/iobroker/backups" [DEBUG] [mount] - mount successfully completed [DEBUG] [mount] - done [DEBUG] [iobroker] - host.datenpi 438 states saved [DEBUG] [iobroker] - host.datenpi 556 objects saved [DEBUG] [iobroker] - Backup created: /opt/iobroker/backups/iobroker_2022_12_01-20_45_04_backupiobroker.tar.gz [DEBUG] [iobroker] - done [DEBUG] [influxDB] - InfluxDB-Backup started ... [DEBUG] [influxDB] - Start InfluxDB Backup ... [DEBUG] [influxDB] - InfluxDB Backup tmp directory created [DEBUG] [influxDB] - Packed 22MB so far... [DEBUG] [influxDB] - Packed 41MB so far... [DEBUG] [influxDB] - Backup created: /opt/iobroker/backups/influxDB_2022_12_01-20_45_30_backupiobroker.tar.gz [DEBUG] [influxDB] - Try deleting the InfluxDB tmp directory [DEBUG] [influxDB] - InfluxDB tmp directory was successfully deleted [DEBUG] [influxDB] - InfluxDB-Backup for is finish [DEBUG] [influxDB] - done [DEBUG] [grafana] - Start Grafana Backup ... [DEBUG] [grafana] - Created grafana_tmp directory: "/opt/iobroker/backups/grafana_tmp" [DEBUG] [grafana] - Created dashboard directory [DEBUG] [grafana] - Created dashboards_manually_restore directory [DEBUG] [grafana] - Created datasource directory [DEBUG] [grafana] - start Grafana request ... [DEBUG] [grafana] - Grafana is available ... Status: 200 [DEBUG] [grafana] - found Dashboard: test [DEBUG] [grafana] - found Dashboard: heizung [DEBUG] [grafana] - found Dashboard: elektrische-energie [DEBUG] [grafana] - start Grafana backup compress ... [DEBUG] [grafana] - Backup created: /opt/iobroker/backups/grafana_2022_12_01-20_46_40_backupiobroker.tar.gz [DEBUG] [grafana] - Try deleting the Grafana tmp directory: "/opt/iobroker/backups/grafana_tmp" [DEBUG] [grafana] - Grafana tmp directory "/opt/iobroker/backups/grafana_tmp" successfully deleted [DEBUG] [grafana] - done [DEBUG] [cifs] - used copy path: /volume1/backup [DEBUG] [cifs] - done [DEBUG] [clean] - done [DEBUG] [historyHTML] - new history html values created [DEBUG] [historyHTML] - done [DEBUG] [historyJSON] - new history json values created [DEBUG] [historyJSON] - done [DEBUG] [umount] - mount activ, umount is started ... [DEBUG] [umount] - umount successfully completed [DEBUG] [umount] - done [EXIT] 0
-
Schaut doch sehr gut aus.
-
Hallo, ich melde mich hier nur nochmal der Vollständigkeit halber. Der oben von mir beschriebene fstab-Eintrag ist falsch. Ich habe es gerade beim Umstieg auf bookworm bemerkt. Es fehlt die Option "tcp", sonst funktioniert das mounten nicht. Ansonsten stimmt alles im Thread zur Anpassung der uid/gid und den Synology-NAS-Einstellungen um eine NFS-Verbindung zur Synology-NAS für Backitup hinzubekommen. Kann also quasi als Anleitung benutzt werden.
So wäre es korrekt:
NAS:/volume1/backup /opt/iobroker/backups nfs auto,nfsvers=4.1,users,defaults,rsize=32768,wsize=32768,tcp,intr 0 0