我正在配置我的家用 NAS,以定期从另一台服务器提取备份。
服务器上有一个虚拟用户,使用 rssh shell,配置为仅允许 rsync 访问。我还想将用户 chroot 到备份目录中,这样他们就无法访问系统的其余部分。
当该chrootpath
键被注释掉时,以下命令成功列出根目录的内容:
rsync --list-only server:/
当chrootpath
变量被设置时,到/my/backup/path
或任何目录包括 /
,同一命令失败,并显示:
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [Receiver=3.0.7]
就像 一样rsync --list-only server:/my/backup/path/
。
我不确定我哪里做错了。如果我不强制 chroot,一切都会正常进行。我还禁用了 rssh 的 chrootpath,并ChrootDirectory
在 sshd_config 中设置了 Match User 子句。我从 rsync 获得了相同的结果(代码 12)。