From d73bd1ad49e90fe8899f59128f0cc2006346d342 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Mon, 18 Jul 2011 19:20:49 +0100
Subject: [PATCH] first chown, then setuid...

---
 client/djrandom_client/daemonize.py | 2 +-
 server/djrandom/daemonize.py        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/client/djrandom_client/daemonize.py b/client/djrandom_client/daemonize.py
index 8a2fc69..2f1ffb6 100644
--- a/client/djrandom_client/daemonize.py
+++ b/client/djrandom_client/daemonize.py
@@ -99,6 +99,7 @@ def daemonize(opts, main_function, args, support_gevent=False):
         sys.exit(1)
 
     if opts.username:
+        os.chown(opts.pidfile, user_pw.pw_uid, user_pw.pw_gid)
         try:
             user_pw = pwd.getpwnam(opts.username)
             os.setuid(user_pw.pw_uid)
@@ -106,7 +107,6 @@ def daemonize(opts, main_function, args, support_gevent=False):
             sys.stderr.write(
                 'Error: could not find user "%s"\n' % opts.username)
             sys.exit(1)
-        os.chown(opts.pidfile, user_pw.pw_uid, user_pw.pw_gid)
 
     if support_gevent:
         import gevent
diff --git a/server/djrandom/daemonize.py b/server/djrandom/daemonize.py
index 8a2fc69..2f1ffb6 100644
--- a/server/djrandom/daemonize.py
+++ b/server/djrandom/daemonize.py
@@ -99,6 +99,7 @@ def daemonize(opts, main_function, args, support_gevent=False):
         sys.exit(1)
 
     if opts.username:
+        os.chown(opts.pidfile, user_pw.pw_uid, user_pw.pw_gid)
         try:
             user_pw = pwd.getpwnam(opts.username)
             os.setuid(user_pw.pw_uid)
@@ -106,7 +107,6 @@ def daemonize(opts, main_function, args, support_gevent=False):
             sys.stderr.write(
                 'Error: could not find user "%s"\n' % opts.username)
             sys.exit(1)
-        os.chown(opts.pidfile, user_pw.pw_uid, user_pw.pw_gid)
 
     if support_gevent:
         import gevent
-- 
GitLab