允许PHP覆盖系统文件

允许PHP覆盖系统文件,php,permissions,Php,Permissions,我想用这个PHP命令覆盖我的“/etc/network/interfaces”文件 exec('sudo echo -e "# Include files from /etc/network/interfaces.d:\nsource-directory /etc/network/interfaces.dauto eth0\n\nauto eth0\niface eth0 inet static\naddress \nnetmask \ngateway \n\n" > /etc/netwo

我想用这个PHP命令覆盖我的“/etc/network/interfaces”文件

exec('sudo echo -e "# Include files from /etc/network/interfaces.d:\nsource-directory /etc/network/interfaces.dauto eth0\n\nauto eth0\niface eth0 inet static\naddress \nnetmask \ngateway \n\n" > /etc/network/interfaces');
我可以在我的“/var/log/apache2/error.log”中看到日志:sh:1:无法创建/etc/network/interfaces:权限被拒绝


如何允许PHP覆盖此文件?

使用二进制包装器(带suid位)的解决方案。


您可以从中获得帮助。

要使用root用户编辑权限文件,这是一个非常糟糕的主意,我认为如果您真的想这样做,请创建一个bash文件,可以删除您想要的文件,对其进行chmod,然后从php脚本中执行该文件。(最好用C++来构建这样的程序)你可以尝试使用SeLyExeC函数来做这件事,如他们的文档中所描述的:谢谢,但是我需要用PHP来做,安全性在这个例子中并不重要。如果我创建了这个bash文件,那么删除接口文件就可以了,但是我仍然无法使用exec命令创建一个新的接口文件?您需要使用sudo在php中运行bash脚本或一系列命令。