Configuré rsync
un demonio en un servidor Ubuntu y estoy intentando transferir un archivo desde la máquina raspberry pi al servidor:
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]
Configuré el rsync
demonio para que se ejecute como pi
usuario y aparece el error anterior. Si ejecuto el demonio, root
no se muestran errores y la transferencia está bien.
Aquí está mi rsyncd.conf
archivo:
[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
El path
directorio tiene g+s
permisos establecidos: quiero que todos los archivos que contiene hereden el grupo del directorio principal.
¿Alguna idea de cómo resolver este error?
Respuesta1
Encontré la solución. Aquí está el problema. Como estoy ejecutando rsync daemon
con otro usuario, no root, necesitaba brindar rsync
las siguientes capacidades:
setcap cap_net_bind_service,cap_setgid=+ep /usr/bin/rsync
cap_net_bind_service
- esto es necesario para que el demonio pueda vincularse a los puertos del sistema (inferiores a 1024, el puerto predeterminado al que se vincula rsync es 873)cap_setgid
- esto es lo que causó elsetgroups failed
error.
Espero que esto ayude a alguien en el futuro.