aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-08-26 11:14:16 -0400
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-08-26 11:14:16 -0400
commit17f1f46ae8a6a5a2f40340904b47a542ce4f14f7 (patch)
treef2abb7eafc853fa9a4c81a394387252d9f1adafb
parent59a2f63df7d869dbc9e851a5ea4c9afc4dc4718d (diff)
downloadgrokmirror-17f1f46ae8a6a5a2f40340904b47a542ce4f14f7.tar.gz
Setgid before we setuid
Obviously, if we setuid first, we can't setgid any more. :) Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r--grokmirror/__init__.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/grokmirror/__init__.py b/grokmirror/__init__.py
index f4bf54c..da3b505 100644
--- a/grokmirror/__init__.py
+++ b/grokmirror/__init__.py
@@ -990,16 +990,6 @@ def init_logger(subcommand, logfile, loglevel, verbose):
def setuidgid(user, group):
- if user is not None:
- import pwd
- try:
- os.setuid(pwd.getpwnam(user).pw_uid)
- except KeyError:
- sys.stderr.write('No such user: %s\n' % user)
- sys.exit(1)
- except PermissionError as ex:
- sys.stderr.write('Could not setuid to %s: %s\n' % (user, ex))
- sys.exit(1)
if group is not None:
import grp
try:
@@ -1010,3 +1000,13 @@ def setuidgid(user, group):
except PermissionError as ex:
sys.stderr.write('Could not setgid to %s: %s\n' % (group, ex))
sys.exit(1)
+ if user is not None:
+ import pwd
+ try:
+ os.setuid(pwd.getpwnam(user).pw_uid)
+ except KeyError:
+ sys.stderr.write('No such user: %s\n' % user)
+ sys.exit(1)
+ except PermissionError as ex:
+ sys.stderr.write('Could not setuid to %s: %s\n' % (user, ex))
+ sys.exit(1)