[Bug 13364] rsyncd clips trims relative symlinks outside of source tree

samba-bugs at samba.org samba-bugs at samba.org
Wed Apr 4 19:52:20 UTC 2018


--- Comment #3 from Chris Severance <samba.severach at spamgourmet.com> ---
>enable munge-symlinks. That way the client will get back the same out-of-tree symlink as it started with

This is a lousy option for backups. The only way to get my original links back
is to pull the restore through rsync. Restoring directly from the rsyncd server
will copy the munged links.

>Unless you want the symlinks to be usable on the server

This is exactly what is required. It's not a server at all. It's two clients
both of which must have the same usable tree, one of which runs rsyncd to
accept updates from the other.

I tried enabling chroot and the leading path was still clipped client->server.

>There are tricky ways to work around this

This is what I'm looking for. There should be no security for --links since
copying links can never reach outside the server tree. --copy-links and
--copy-unsafe-links could reach outside the tree so need to be limited whether
or not the unsafe link was from the client.

I can build the links on both clients so --safe-links could work but I need a
way to silence the warnings out of the -v listing.

Shortening the rsyncd "path=" so that the links become inside the tree could
work but rsync has no usable way to specify only one directory without causing
the links to be considered outside outside the tree.

cd baz2; rsync ./ rsync://.../baz1/ # original case

rsync bar2/ rsync://.../root/bar1/ # shortened path=

Links going to bar1 accessible by /root/ are considered outside of the bar1
tree and clipped.

You are receiving this mail because:
You are the QA Contact for the bug.

More information about the rsync mailing list