summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHolger Weiß <holger@zedat.fu-berlin.de>2018-05-18 13:47:14 +0200
committerHolger Weiß <holger@zedat.fu-berlin.de>2018-05-18 22:50:36 +0200
commit56ae1baf7055155c7ec279fd5e5f1b7275366fee (patch)
treeae79eb118438aeeb94c9e5aed497a2a99da2df2d /src
parent8ead11b6f6bb477172e40dfca8dc848c6a9494e4 (diff)
downloadbcfg2-56ae1baf7055155c7ec279fd5e5f1b7275366fee.tar.gz
bcfg2-56ae1baf7055155c7ec279fd5e5f1b7275366fee.tar.bz2
bcfg2-56ae1baf7055155c7ec279fd5e5f1b7275366fee.zip
POSIX: Don't follow symlinks when changing owner
Don't let the client follow symbolic links when changing the owner of a path.
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Client/Tools/POSIX/base.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/POSIX/base.py b/src/lib/Bcfg2/Client/Tools/POSIX/base.py
index 89675af02..ffa527cd6 100644
--- a/src/lib/Bcfg2/Client/Tools/POSIX/base.py
+++ b/src/lib/Bcfg2/Client/Tools/POSIX/base.py
@@ -130,14 +130,14 @@ class POSIXTool(Bcfg2.Client.Tools.Tool):
% (path,
self._norm_entry_uid(entry),
self._norm_entry_gid(entry)))
- os.chown(path, self._norm_entry_uid(entry),
- self._norm_entry_gid(entry))
+ os.lchown(path, self._norm_entry_uid(entry),
+ self._norm_entry_gid(entry))
except (OSError, KeyError):
self.logger.error('POSIX: Failed to change ownership of %s'
% path)
rv = False
if sys.exc_info()[0] == KeyError:
- os.chown(path, 0, 0)
+ os.lchown(path, 0, 0)
else:
self.logger.debug("POSIX: Run as non-root, not setting ownership")