diff --git a/src/borg/archiver.py b/src/borg/archiver.py index f9c7fd118d..40d43061b3 100644 --- a/src/borg/archiver.py +++ b/src/borg/archiver.py @@ -3227,6 +3227,11 @@ def define_borg_mount(parser): archives and the directory structure below these will be loaded on-demand from the repository when entering these directories, so expect some delay. + Care should be taken, as Borg backs up symlinks as-is. When an archive + or repository is mounted, it is possible to “jump” outside the mount point + by following a symlink. If this happens, files or directories (or versions of them) + that are not part of the archive or repository may appear to be within the mount point. + Unless the ``--foreground`` option is given the command will run in the background until the filesystem is ``unmounted``. diff --git a/src/borg/fuse.py b/src/borg/fuse.py index 921a7d6a05..34fa4008a9 100644 --- a/src/borg/fuse.py +++ b/src/borg/fuse.py @@ -567,6 +567,7 @@ def pop_option(options, key, present, not_present, wanted_type, int_base=0): user=dir_user, group=dir_group, uid=dir_uid, gid=dir_gid) self._create_filesystem() llfuse.init(self, mountpoint, options) + logger.warning('Warning: The mounted archive is capable of containing symlinks that point outside the archive tree. When following such symlinks you may see files and directories within the mountpoint that do not reflect the archive content.') if not foreground: if isinstance(self.repository_uncached, RemoteRepository): daemonize()