use lchown to change symlink's owner, group.
This commit is contained in:
+5
-2
@@ -136,8 +136,11 @@ class ArchiveTar(ArchiveBase):
|
|||||||
if self.no_same_permissions and not os.path.islink(tarinfo.name):
|
if self.no_same_permissions and not os.path.islink(tarinfo.name):
|
||||||
os.chmod(tarinfo.name, tarinfo.mode & ~ctx.const.umask)
|
os.chmod(tarinfo.name, tarinfo.mode & ~ctx.const.umask)
|
||||||
|
|
||||||
if self.no_same_owner and not os.path.islink(tarinfo.name):
|
if self.no_same_owner:
|
||||||
os.chown(tarinfo.name, uid, gid)
|
if not os.path.islink(tarinfo.name):
|
||||||
|
os.chown(tarinfo.name, uid, gid)
|
||||||
|
else:
|
||||||
|
os.lchown(tarinfo.name, uid, gid)
|
||||||
|
|
||||||
os.chdir(oldwd)
|
os.chdir(oldwd)
|
||||||
self.close()
|
self.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user