rsync @ERROR setgroup не удалось

rsync @ERROR setgroup не удалось

Я настроил rsyncдемон на сервере Ubuntu и пытаюсь передать файл с компьютера Raspberry Pi на сервер:

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]

Я настроил rsyncдемон на запуск от имени piпользователя и получаю указанную выше ошибку. Если я запускаю демон от имени пользователя, rootникаких ошибок не отображается и передача проходит нормально.

Вот мой 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

Для каталога pathустановлены g+sразрешения — я хочу, чтобы все файлы в нем наследовали группу родительского каталога.

Есть идеи, как устранить эту ошибку?

решение1

Я нашел решение. Вот в чем проблема. Поскольку я запускаю rsync daemonс другим пользователем, не root, мне нужно было предоставить rsyncследующие возможности:

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

  1. cap_net_bind_service- это необходимо для того, чтобы демон мог привязываться к системным портам (ниже 1024, порт по умолчанию, к которому привязывается rsync, - 873)
  2. cap_setgid- вот что вызвало setgroups failedошибку.

Надеюсь, это поможет кому-нибудь в будущем.

Связанный контент