我有一个服务器配置为作为守护程序 /etc/rsyncd.conf 文件运行 rsync:
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[documents]
path = /home/user/work
comment = User's Documents folder
uid = user
gid = user
read only = no
auth users = user
secrets file = /etc/rsyncd.secrets
/etc/rsyncd.secrets 文件:
user:more
在客户端我运行:
rsync my_file user@ip_address::documents
我收到以下错误:
@ERROR: auth failed on module documents
rsync error: error starting client-server protocol (code 5) at main.c(1524) [sender=3.0.7]
在服务器上,我有一个名为 user 的 root 用户,但密码不同。在客户端,我尝试了两个密码,结果相同。
我做错了什么?
答案1
我遇到了同样的错误,当我查看日志文件时,我收到以下消息:
机密文件不得被其他人访问
因此您可能必须更改该文件的权限。
答案2
查看 /var/log/rsyncd.log。也许你的“/etc/rsyncd.secrets”文件中的权限太宽。
答案3
schemanen 的回答是正确的,但是您可以选择在 rsyncd.conf 中禁用严格模式,而无需删除其他用户对 secrets 文件的读取权限。
在您的 /etc/rsyncd.conf 中添加:
strict modes = false
最后重新启动 rsync 守护进程。
答案4
问题可能在于密码前面的空格:
错误的:
user: password
正确的:
user:password
正如其他人所说,您还必须确保权限设置正确(chmod o-rwx
),但这是一个不同的问题。