Probleme mit rsync

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

mapero

Benutzer
Registriert
21. Feb. 2011
Beiträge
33
Reaktionspunkte
0
Punkte
0
Hallo.

Ich habe schon länger ein Skript auf meinem Rechner, dass über den NetworkManager ausgelöst wird. Es synchronisiert mittels rsync mein Home-Verzeichnis auf meine DS211j. Seit einigen Tagen, ich vermute seit ich auf 4.1 aktualisiert habe funktioniert rsync nicht mehr, weder das Skript noch manuell. Ist mir leider erst gestern aufgefallen.
Der Befehl sieht auf meinem Rechner folgendermaßen aus:
Rich (BBCode):
/bin/rsync -azP --delete --bwlimit=2000 -e "ssh -i /home/jochen/.ssh/id_rsa" /home/jochen jochen@miraculix:/volume1/homes/jochen/Sync/asterix

Selbst ein einfaches rsync -ae ssh /home/jochen/XYZ jochen@miraculix:/volume1/homes/jochen/Blub funktioniert nicht mehr.
Die Fehlermeldung ist immer die gleiche:
Rich (BBCode):
sending incremental file list
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1034) [Receiver=3.0.8]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]

Auf der DS /var/log/messages ist folgendes zu finden:
Rich (BBCode):
Sep  8 16:04:04 rsync: 1027 don't have write permission to /volume1/homes/jochen/Sync/asterix

Der Nutzer jochen hat aber natürlich volle Schreibrechte in diesem Verzeichnis.

Hat jemand eine Idee?

Bin mit meinem Latein am Ende.

Danke.
Jochen
 
Auf der DS /var/log/messages ist folgendes zu finden:
Rich (BBCode):
Sep  8 16:04:04 rsync: 1027 don't have write permission to /volume1/homes/jochen/Sync/asterix

Der Nutzer jochen hat aber natürlich volle Schreibrechte in diesem Verzeichnis.
Hat User jochen die UserID 1027?
Was steht in /etc/rsync.conf? Hattest du unter <4.1 was dran geändert?

Gruß Benares
 
Danke für die Antwort. Ja jochen = uid 1027.
Geändert hatte ich schon länger nichts mehr. Habe gestern die Log-Dateien meines Skript mal gechecked und festgestellt, dass es seit ein paar Tagen nicht mehr läuft. Das einzige was ich etwa in diesem Zeitraum gemacht hatte, war ein Update von 4.1-Beta auf 4.1.

rsyncd.conf
Code:
#motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
use chroot = no
read only = no
[NetBackup]
path = /var/services/NetBackup
comment = Network Backup Share
uid = root
gid = root
read only = no
list = yes
charset = utf-8
auth users = root
secrets file = /etc/rsyncd.secrets

Daran habe ich allerdings nichts geändert, erst nachdem es nicht mehr funktionierte habe ich bei "log file" das Kommentar entfernt und "read only = no" eingefügt.
Soweit ich weiß, ist diese Datei aber nur von belang, wenn ich statt ssh den rsync-Daemon rsyncd benutze. Was ja eigentlich nicht der Fall ist.
 
was passiert denn wenn du statt rsync via ssh nur eine ssh Verbindung aufbaust und ein Kommando absetzt? z.B.
Code:
[COLOR=#333333]ssh -i /home/jochen/.ssh/id_rsa jochen@miraculix touch /volume1/homes/jochen/Sync/asterix/testfile
[/COLOR]
hast du danach das testfile?
 
Ich denke schon, dass auch bei ssh der rsyncd mit im Spiel ist und damit auch die rsyncd.conf, bin aber nicht so der rsync-Guru.
Ich hab leider auch keine 4.0er mehr, damit ich schauen könnte, wie es dort war.
Auf einem anderen NAS (nicht DS) ist ausserhalb der Abschnitte (also oben) auch nochmal uid,gid drin, also
Code:
uid = root
gid = root
use chroot = no
pid file = /var/run/rsyncd.pid

[...]
Probier mal, ob das was ändert.

Gruß Benares
 
Ich denke schon, dass auch bei ssh der rsyncd mit im Spiel ist und damit auch die rsyncd.conf, bin aber nicht so der rsync-Guru.
afaik wird die Datei wirklich nur dann benutzt wenn man rsyncd auf der Gegenseite nutzt. Im Falle des topicstarters rsync via ssh kommt die ned zum Tragen. Sonst würden alle meine Backups (rsync via ssh) ned funzen und das hätte ich bestimmt mal bemerkt :-)
 
was passiert denn wenn du statt rsync via ssh nur eine ssh Verbindung aufbaust und ein Kommando absetzt? z.B.
Code:
[COLOR=#333333]ssh -i /home/jochen/.ssh/id_rsa jochen@miraculix touch /volume1/homes/jochen/Sync/asterix/testfile
[/COLOR]
hast du danach das testfile?

Japp. Hat ohne Problem funktioniert.

Code:
jochen@asterix:~$ ssh -i /home/jochen/.ssh/id_rsa jochen@miraculix touch /volume1/homes/jochen/Sync/asterix/testfile
jochen@asterix:~$ ssh miraculix
BusyBox v1.16.1 (2012-08-30 00:05:10 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

miraculix> ls /volume1/homes/jochen/Sync/asterix/ -lah
drwxr-xr-x 3 jochen users 4.0K Sep  8 17:02 .
drwxr-xr-x 3 jochen users 4.0K Aug 18 15:47 ..
-rw-r--r-- 1 jochen users    0 Sep  8 17:02 testfile
miraculix>
 
okay dann sollten die Rechte also wirklich passen. Was passiert denn wenn du den rsync via ssh machst, aber diesmal mit dem User root auf miraculix? Wenn der auch den Fehler bezüglich mangelnder Rechte bekommt, stimmt echt was mit rsync ned
 
Als root funktioniert es.

Edit: Ich habe ebenfalls rsync über das ipkg installiert. Kann es sein, dass es plötzlich dazwischen funkt? Hab dem /opt/bin/rsync jedoch einfach mal die x rechte entzogen. Hatte keine Auswirkungen. "Root" funktioniert immer noch, "jochen" nicht.
 
Zuletzt bearbeitet:
wenns mit root geht, dann würde ich das mit root machen :-) Sonst könnte ich mir nur noch vorstellen, dass jochen auf miraculix das rsync-Kommando ned nutzen darf. wenn du dich als jochen auf miraculix anmeldest, kannst du dann das Kommando rsync normal nutzen?
 
Funktioniert.

Da SSH über das Internet offen ist, würd ich den root-user ungern dafür nutzen. Habe normal password aus und nur public key für bestimmte Nutzer. Werde noch ein bisschen recherchieren. Vll. find ich noch eine andere Lösung.
 
root Login nur mit PublicKey ist sehr sicher, am besten gleich den SSH auf dem Server auf Cert-Login-only umstellen.
Wenn du es nicht als root machen willst, könntest du allenfalls probieren das rsync Binary suid zu setzen, ABER prüf zuerst ob rsync ned nur ein Link auf busybox ist. Wenn es nur ein Link ist und du den suid setzt, dann wäre die gesamte busybox auch suid und das wäre ein enormes Risiko
 
suid ist beim syno-rsync standardmäßig gesetzt und eine "eigenständige" binary.
 
Ich habe das gleiche Problem, scheinbar wurde bei den Version ab DSM 4.1 in Sachen rsync etwas geändert.

rsync funktioniert nur als root oder wenn ich dem entsprechenden Nutzer Schreibrechte auf homes gebe. Ist für mich keine Lösung.
Hat noch jemand eine Idee, wie man als normaler user rsync zu seinem eigenen home-Ordner auf der DS nutzen kann?
 
hab es jetzt mit der Option "Benutzerdefinierte rsync-Konfiguration verwenden" und einem eigenen Modul in der /etc/rsyncd.conf gelöst :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat