in reply to Execute a perl program from a php web page

Firstly, if your script doesn't absolutely have to be run as root, you should ideally use a different user and using root at all from a web script is a REALLY bad idea as various nodes and FAQs will tell you).

sudo is good for this sort of thing - you can use sudo -u someuser perl foo.pl.

I also assume you have set up your sudoers file correctly? First, your webserver userneeds certain permissions, but the normal setup would mean that sudo is blindly asking for a password - and there's noone there to type it in! The sudoers config file is very flexible. You will be able to specify what you want to allow in a very fine grained way. eg. "let the user apache execute the script /usr/bin/do_script.sh without a password".

The sudo config format is, however, a bit tricky. Thankfully man sudoers gives you some examples of this sort of thing.

  • Comment on Re: Execute a perl program from a php web page