From: Markus Lehtonen Date: Mon, 16 Feb 2015 13:11:32 +0000 (+0200) Subject: Set GID before UID X-Git-Tag: submit/devel/20190730.075437~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=203896bf0bff7fd5f20967cec9da254cc07e5b59;p=services%2Fobs-service-git-buildpackage.git Set GID before UID Trying to set GID after UID has changed is (probably) fails because of missing privileges. Change-Id: I89d90bf1d7e0433f0c98483f1c807e9de08e026c Signed-off-by: Markus Lehtonen --- diff --git a/obs_service_gbp_utils/__init__.py b/obs_service_gbp_utils/__init__.py index a25b61f..adab9f6 100644 --- a/obs_service_gbp_utils/__init__.py +++ b/obs_service_gbp_utils/__init__.py @@ -55,12 +55,12 @@ def _demoted_child_call(uid, gid, ret_data_q, func): """Call a function/method with different uid/gid""" # Set UID and GID try: + if gid and gid > 0: + os.setresgid(gid, gid, gid) if uid and uid > 0: os.setresuid(uid, uid, uid) # Set environment os.environ['HOME'] = pwd.getpwuid(uid).pw_dir - if gid and gid > 0: - os.setresgid(gid, gid, gid) except OSError as err: ret_data_q.put(GbpServiceError("Setting UID/GID (%s:%s) failed: %s" % (uid, gid, err)))