--- a/paste/script/serve.py Mon Nov 07 10:11:44 2011 -0600 +++ a/paste/script/serve.py Tue Feb 07 23:30:50 2012 -0600 @@ -497,6 +497,11 @@ if self.verbose > 0: print 'Changing user to %s:%s (%s:%s)' % ( user, group or '(unknown)', uid, gid) + if hasattr(os, 'initgroups'): + os.initgroups(user, gid) + else: + os.setgroups([e.gr_gid for e in grp.getgrall() + if user in e.gr_mem] + [gid]) if gid: os.setgid(gid) if uid: