使用php更改apache服务器的ip地址

时间:2012-05-06 09:22:58

标签: php linux apache ip

我正在尝试创建一个设置页面(用于客户端),在这里他们可以查看当前的上行地址,更改IP地址等。我有一个php文件来查看IP地址

 <?php
  $res=shell_exec("ifconfig");
  echo $res;
 ?>

此代码工作正常并显示预期结果。 但是,更改服务器的IP地址的代码无法正常工作。

 <?php
 shell_exec("ifconfig eth0 192.168.163.136");
 ?>

运行此代码后,当我使用ipaddr检查终端上的ipaddress时,我看不到ipaddress的任何变化。 请指出我出错的地方。我认为这是一个apache不是超级/ root用户的问题。如果是这种情况我不知道如何以root用户身份运行apache。

3 个答案:

答案 0 :(得分:2)

您的PHP脚本没有足够的权限来更改接口地址。您可能想要写一个Shellscript,给它正确的权限(例如,将其所有者更改为root,并设置suid位),然后从PHP脚本运行它。然而,我建议不要做这样的事情

答案 1 :(得分:1)

IP地址在网络协议的网络层中配置,而不是在运行PHP的应用层中配置。 简单,PHP无法访问它,也无法更改它们。

想象一下如果可能的话,它可以创建的漏洞。

答案 2 :(得分:0)

在ifconfig工作之前添加/srv/http。所需要的只是根拥有的位置。