diff --git a/bin/diamond b/bin/diamond index f59e7d41f..1a09dcf78 100755 --- a/bin/diamond +++ b/bin/diamond @@ -204,11 +204,13 @@ def main(): # Python 2.7+ if hasattr(os, 'initgroups'): - os.initgroups(user, gid) + os.initgroups(pwd.getpwuid(uid).pw_name, gid) # Python 2.6 else: - os.setgroups([e.gr_gid for e in grp.getgrall() - if user in e.gr_mem] + [gid]) + os.setgroups( + [e.gr_gid for e in grp.getgrall() if pwd.getpwuid( + uid).pw_name in e.gr_mem] + [gid] + ) if gid != -1 and os.getgid() != gid: # Set GID @@ -333,6 +335,7 @@ def main(): log.error("traceback: %s" % traceback.format_exc()) sys.exit(1) + if __name__ == "__main__": if setproctitle: setproctitle(os.path.basename(__file__))