Configurei rsync
o daemon em um servidor Ubuntu e estou tentando transferir um arquivo da máquina Raspberry Pi para o 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]
Configurei o rsync
daemon para ser executado como pi
usuário e estou recebendo o erro acima. Se eu executar o daemon, root
nenhum erro será mostrado e a transferência estará correta.
Aqui está meu rsyncd.conf
arquivo:
[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
O path
diretório tem g+s
permissões definidas - quero que todos os arquivos nele herdem o grupo do diretório pai.
Alguma idéia de como resolver esse erro?
Responder1
Eu encontrei a solução. Aqui está o problema. Como estou executando o rsync daemon
com outro usuário, não como root, precisei fornecer rsync
os seguintes recursos:
setcap cap_net_bind_service,cap_setgid=+ep /usr/bin/rsync
cap_net_bind_service
- isso é necessário para que o daemon possa se vincular às portas do sistema (menor que 1024, a porta padrão à qual o rsync está vinculado é 873)cap_setgid
- foi isso que causou osetgroups failed
erro.
Espero que isso ajude alguém no futuro.