私が遭遇したすべてのトピックは、アクセスが制限されたユーザーを使用して、rsync
またはssh
を介してrsync
に関係していました。
Rootとしてpermissiondenied(13)エラーが発生します。これが私の設定ファイルです:
/etc/rsyncd.conf:
auth users = backup, root
secrets file = /etc/rsyncd.secrets
[backupdir]
path = /backupdir
/etc/rsyncd.secrets(ファイルモード600、所有者ルート、グループルート):
backup:backuppassword
root:rootpassword
Rsyncを実行するbashスクリプト:
export RSYNC_PASSWORD=rootpassword
rsync -a --verbose --delete rsync://root@myserver/backupdir mydestination
上記のbashスクリプトとmydestination
はWin XPマシンにあり、myserver
はDebianサーバーです。
rsyncd.conf
のメインページから:
auth users
This parameter specifies a comma and space-separated list of usernames
that will be allowed to connect to this module. The usernames do not need
to exist on the local system. [...]
つまり、rsyncデーモンに選択したユーザー名は、同じ名前のシステムのユーザーにリンクされていません。
ただし、ファイルにアクセスするときにrsyncデーモンが使用するユーザーIDとグループIDを設定することはできます(少なくともroot権限でデーモンを起動した場合)。
uid This parameter specifies the user name or user ID that file transfers to
and from that module should take place as when the daemon was run as root.
In combination with the "gid" parameter this determines what file permissions
are available. The default is uid -2, which is normally the user "nobody".
gid This parameter specifies the group name or group ID that file transfers to
and from that module should take place as when the daemon was run as root.
This complements the "uid" parameter. The default is gid -2, which is normally
the group "nobody".
例えば:
uid = johndoe
gid = johndoe