微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

高山docker映像中chrooted ssh中的Rsync导致无法设置权限

如何解决高山docker映像中chrooted ssh中的Rsync导致无法设置权限

我使用来自alpine的简单dockerfile并安装了openssh和rsync。 将ssh用户chroot到其主目录,rsync和bash可执行文件以及chown,chmod等。并将其库复制到用户目录,以便可以通过ssh执行rsync。

当我将rsync与-p选项一起使用时(包括在-a中):

rsync -a -e 'ssh -p 2222' /home/user/Pictures/ localhost:/backups/071120

我得到一个错误

rsync:无法在“ / backups / 071120 /。 2019-12-26 13-47-24.png.NKoiaj“:没有此类文件或目录(2)The

文件已复制,但显然权限设置不正确。

我尝试使用ssh更改权限,并且一切都按预期方式工作,因此它不应成为文件夹权限问题。 然后,我尝试使用ubuntu基本映像,它可以按预期工作,因此高山基本映像中有些东西会阻止rsync更改权限。

有什么想法吗?

解决方法

在基于高山的图像上使用 rsync 遇到类似的问题。 解决方案应该是通过在以下行中指定来禁用chroot文件上的rsyncd.conf设置:

use chroot = no

根据文档(https://download.samba.org/pub/rsync/rsyncd.conf.html),将该选项设置为 yes 可能会使按名称保存用户和组变得复杂

使用chroot

如果“ use chroot”为true,则rsync守护进程将chroot更改为 与客户端开始文件传输之前的“路径”。这有 防止可能实施的额外保护的优势 安全漏洞,但缺点是需要超级用户 特权,无法遵循以下两种情况的符号链接: 新根路径的绝对值或绝对值之外,以及使 按名称保留用户和组(请参见下文)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。