Catch failure to set gids

This commit is contained in:
Min RK
2015-07-07 12:28:17 -05:00
parent d328015fe8
commit b5877ac546

View File

@@ -276,6 +276,7 @@ def set_user_setuid(username):
uid = user.pw_uid
gid = user.pw_gid
home = user.pw_dir
gids = [ g.gr_gid for g in grp.getgrall() if username in g.gr_mem ]
def preexec():
# don't forward signals
@@ -283,8 +284,10 @@ def set_user_setuid(username):
# set the user and group
os.setgid(gid)
gids = [ g.gr_gid for g in grp.getgrall() if username in g.gr_mem ]
os.setgroups(gids)
try:
os.setgroups(gids)
except Exception as e:
print('Failed to set groups %s' % e, file=sys.stderr)
os.setuid(uid)
# start in the user's home dir