From 094376a8ad23c218defcc69d601be0b014965243 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Thu, 18 May 2017 02:37:54 +0200 Subject: [PATCH] require and use chown with follow_symlinks=False should be equivalent to using os.lchown() before. --- src/borg/archive.py | 2 +- src/borg/helpers.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/borg/archive.py b/src/borg/archive.py index 96a9070c7..9954eb70e 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -674,7 +674,7 @@ Utilization of max. archive size: {csize_max:.0%} if fd: os.fchown(fd, uid, gid) else: - os.lchown(path, uid, gid) + os.chown(path, uid, gid, follow_symlinks=False) except OSError: pass if fd: diff --git a/src/borg/helpers.py b/src/borg/helpers.py index cd481dc0e..b4090da9a 100644 --- a/src/borg/helpers.py +++ b/src/borg/helpers.py @@ -119,7 +119,7 @@ class PythonLibcTooOld(Error): def check_python(): - required_funcs = {os.stat, os.utime} + required_funcs = {os.stat, os.utime, os.chown} if not os.supports_follow_symlinks.issuperset(required_funcs): raise PythonLibcTooOld