Ich habe einen Daemon auf einem Ubuntu-Server eingerichtet rsync
und versuche, eine Datei vom Raspberry-Pi-Rechner auf den Server zu übertragen:
rsync --timeout 10 --progress --password-file ~/rsync.password --append-verify some_file [email protected]::files
@ERROR: setgroups failed
rsync error: error starting client-server protocol (code 5) at main.c(1653) [sender=3.1.1]
Ich habe den rsync
Daemon so konfiguriert, dass er als Benutzer ausgeführt wird pi
, und erhalte den oben genannten Fehler. Wenn ich den Daemon als Benutzer ausführe, root
werden keine Fehler angezeigt und die Übertragung ist in Ordnung.
Hier ist meine rsyncd.conf
Datei:
[files]
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
path = /some/path
comment = RSYNC FILES
read only = false
secrets file = /etc/rsyncd.secrets
auth users = pi
uid = pi
gid = pi
use chroot = false
Für das path
Verzeichnis sind g+s
Berechtigungen festgelegt. Ich möchte, dass alle darin enthaltenen Dateien die Gruppe des übergeordneten Verzeichnisses erben.
Irgendwelche Ideen, wie dieser Fehler behoben werden kann?
Antwort1
Ich habe die Lösung gefunden. Hier ist das Problem. Da ich es mit einem anderen Benutzer ausführe , nicht mit root, musste ich die folgenden Berechtigungen rsync daemon
erteilen :rsync
setcap cap_net_bind_service,cap_setgid=+ep /usr/bin/rsync
cap_net_bind_service
- dies ist erforderlich, damit der Daemon eine Bindung zu den Systemports herstellen kann (niedriger als 1024, der Standardport, an den rsync gebunden ist, ist 873).cap_setgid
- das hat densetgroups failed
Fehler verursacht.
Hoffe, dass dies in Zukunft jemandem hilft.