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
cap_net_bind_service
- これはデーモンがシステム ポートにバインドできるようにするために必要です (1024 未満、rsync がバインドするデフォルトのポートは 873)cap_setgid
- これがエラーの原因ですsetgroups failed
。
これが将来誰かの役に立つことを願っています。