Apache as root on ubuntu

前提是你 提交于 2019-12-07 13:27:11

问题


Ok I need to run my Apache web server as root. For this I typed whoami; in terminal. It gives me output: root. But when I check my apache server running as a root user or not by executing following php-script: < ?php echo whoami; ?> It gives me output: nobody. So any suggestions to execute/login as a root user in apache??


回答1:


I would suggest creating an external PHP file on your server that would handle everything related with this extension. And then, you could call this script with shell_exec in combination with sudo.

This way, you could put your webserver user in your sudoers file and let it run php-cli as root.

Then, in your script you could simply use:

$output = shell_exec("sudo /bin/php /yourscript.php");

This would be a much more secure solution than running Apache as root, which in my opinion, is a verry bad idea, even if you know what you are doing.




回答2:


If you know what you are doing, look at the file /etc/apache2/envvars :

You can customize these variables

export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root



回答3:


I echo the concerns running the apache process as root. Its just a bad idea. Thats why I recently published a project that allows PHP to obtain and interact with a real Bash shell. Get it here: https://github.com/merlinthemagic/MTS

After downloading you would simply use the following code:

$shell    = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1  = $shell->exeCmd('php /var/scripts/test.php');
//the return will be a string containing the return of the script
echo $return1;


来源:https://stackoverflow.com/questions/9873705/apache-as-root-on-ubuntu

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!