Run a linux system command as a superuser, using a python script

birdsong david.birdsong at
Tue Feb 24 16:37:24 EST 2009

On Feb 24, 11:44 am, Chris Rebert <c... at> wrote:
> On Tue, Feb 24, 2009 at 11:38 AM, madhav <madhav.... at> wrote:
> > I have got postfix installed on my machine and I am updating on of its
> > configuration files programmatically(using python)(on some action).
> > Since any change in the configuration needs a reload, I need to reload
> > postfix to reflect the latest change. How can I do that in a python
> > script. Precisely, I have something like this:
> > import subprocess
> > subprocess.Popen('sudo /etc/init.d/postifx reload')
> > Since this script should be run in no-human environment(on the fly), I
> > cant supply the sudo password or even root password(if needed). Even
> > sudo doesn't have a flag to input the password for the command at the
> > first shot. How do I do this?
> pexpect may be useful in this situation -
> Cheers,
> Chris
> --
> Follow the path of the Iguana...

I vote down the pexpect, you'd be hardcoding a password.  How about
adjusting the sudoers file to grant the user of this script sudo on /
etc/init.d/postifx or even sudo on your python script.

More information about the Python-list mailing list