Skip to content

Instantly share code, notes, and snippets.

@rubic
Created January 20, 2012 02:33
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rubic/1644599 to your computer and use it in GitHub Desktop.
Save rubic/1644599 to your computer and use it in GitHub Desktop.
setuid via subprocess.Popen
#!/usr/bin/env python
import os, subprocess
uid, gid = 5, 60
def preexec_fn():
os.setgid(uid)
os.setuid(gid)
cmd = ['uname', '-a']
process = subprocess.Popen(cmd,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
preexec_fn=preexec_fn)
outs, errs = process.communicate()
print "process return code:", process.returncode
print "stderr:", errs
print "stdout:", outs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment