rsync @ERROR setgroup falhou

1

Eu configurei o daemon rsync em um servidor Ubuntu e estou tentando transferir um arquivo da máquina pi do framboesa 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]

Eu configurei o daemon rsync para ser executado como pi user e estou recebendo o erro acima. Se eu executar o daemon como root , nenhum erro será mostrado e a transferência estará ok.

Aqui está o meu arquivo rsyncd.conf :

[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 dir tem g+s de permissões definido - desejo que todos os arquivos nele herdem o grupo do diretório pai.

Alguma idéia de como resolver esse erro?

    
por CuriousGuy 28.05.2017 / 16:12

1 resposta

0

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 dos seguintes recursos:

setcap cap_net_bind_service,cap_setgid=+ep /usr/bin/rsync

  1. cap_net_bind_service - isso é necessário para que o daemon possa se ligar às portas do sistema (menor que 1024, a porta padrão para a qual o rsync está se vinculando é 873)
  2. cap_setgid - isso é o que causou o erro setgroups failed .

Espero que isso ajude alguém no futuro.

    
por CuriousGuy 28.05.2017 / 16:56