diff options
author | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2020-08-26 11:14:16 -0400 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2020-08-26 11:14:16 -0400 |
commit | 17f1f46ae8a6a5a2f40340904b47a542ce4f14f7 (patch) | |
tree | f2abb7eafc853fa9a4c81a394387252d9f1adafb | |
parent | 59a2f63df7d869dbc9e851a5ea4c9afc4dc4718d (diff) | |
download | grokmirror-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__.py | 20 |
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) |