diff options
Diffstat (limited to 'rdiff-backup/rdiff_backup')
-rw-r--r-- | rdiff-backup/rdiff_backup/rpath.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py index ac24a31..6727f9a 100644 --- a/rdiff-backup/rdiff_backup/rpath.py +++ b/rdiff-backup/rdiff_backup/rpath.py @@ -95,7 +95,12 @@ def copy(rpin, rpout, compress = 0): if rpin.isreg(): copy_reg_file(rpin, rpout, compress) elif rpin.isdir(): rpout.mkdir() - elif rpin.issym(): rpout.symlink(rpin.readlink()) + elif rpin.issym(): + # some systems support permissions for symlinks, but + # only by setting at creation via the umask + os.umask(0777 - rpin.getperms()) + rpout.symlink(rpin.readlink()) + os.umask(077) # restore rdiff-backup standard umask elif rpin.ischardev(): major, minor = rpin.getdevnums() rpout.makedev("c", major, minor) |