Securely executing system commands as sudo from PHP

Posted by Aydin Hassan on Server Fault See other posts from Server Fault or by Aydin Hassan
Published on 2014-08-18T20:00:08Z Indexed on 2014/08/18 22:23 UTC
Read the original article Hit count: 331

Filed under:
|
|
|

Is it possible?

I have written a command line tool in PHP for creating new environments for our company. It creates system users, directories, databases, VHosts and restarts apache, amongst other things. These commands require sudo privileges. I thought it might be a nice idea to have a web-interface for it, to make it easier for other non-developers to use. The web app would be behind authentication.

When running from the command line I just run sudo tool.php, obviously I can't do this from a web app.

How could I do this securely? Giving the apache user sudo access seems silly, as this would means all sites hosted on the box (eg all our environments) would have sudo access. Is it possible to make this tool run under a different user? this user could have sudo privileges for only the commands I need?

How do things like plesk and cPanel do this?

Any thoughts?

© Server Fault or respective owner

Related posts about apache-2.2

Related posts about php