diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py index fe15f88017c3ded387db7ca6c8898d1b6ee2af76..0dcef3908f489aed1047ec11cce3bfb76d20e18c 100644 --- a/sickbeard/helpers.py +++ b/sickbeard/helpers.py @@ -446,6 +446,13 @@ def chmodAsParent(childPath): if childPath_mode == childMode: return + childPath_owner = os.stat(childPath).st_uid + user_id = os.geteuid() + + if user_id !=0 and user_id != childPath_owner: + logger.log(u"Not running as root or owner of "+childPath+", not trying to set permissions", logger.DEBUG) + return + try: ek.ek(os.chmod, childPath, childMode) logger.log(u"Setting permissions for %s to %o as parent directory has %o" % (childPath, childMode, parentMode), logger.DEBUG) @@ -474,6 +481,13 @@ def fixSetGroupID(childPath): if childGID == parentGID: return + childPath_owner = os.stat(childPath).st_uid + user_id = os.geteuid() + + if user_id !=0 and user_id != childPath_owner: + logger.log(u"Not running as root or owner of "+childPath+", not trying to set the set-group-ID", logger.DEBUG) + return + try: ek.ek(os.chown, childPath, -1, parentGID) #@UndefinedVariable - only available on UNIX logger.log(u"Respecting the set-group-ID bit on the parent directory for %s" % (childPath), logger.DEBUG)