rsync @ERROR setgroup に失敗しました

rsync @ERROR setgroup に失敗しました

Ubuntu サーバーにデーモンをセットアップしrsync、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

解決策を見つけました。問題はここにあります。root ではなく別のユーザーで実行しているため、次の権限rsync daemonを付与する必要がありました。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

これが将来誰かの役に立つことを願っています。

関連情報