Apurv Nerlekar
Apurv Nerlekar

Reputation: 2320

Changing ip address of apache server using php

I am trying to create a settings page(for the clients) where in they can view the current up address,change the ip address etc. I have a php file to view the ip address

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

This code works just fine and displays the expected result. However the code to change the ip address of the server is not working properly.

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

After running this code when i check the ipaddress on the terminal using ipaddr i don't see any change in the ipaddress. Pls point out where i am going wrong. I think its a problem of apache not being a super/root user. If that is the case i don't know how to make apache run as a root user.

Upvotes: 0

Views: 4684

Answers (3)

Apurv Nerlekar
Apurv Nerlekar

Reputation: 2320

Adding /srv/http before ifconfig worked. All it needed was the root owned location.

Upvotes: 0

jweyrich
jweyrich

Reputation: 32240

Your PHP script doesn't have enough privileges to change the interface address. You may want to write a Shellscript, give it the right privileges (e.g., change its owner to root, and set the suid bit), then run it from your PHP script. Yet, I advise against doing such thing

Upvotes: 2

Starx
Starx

Reputation: 78961

IP address are configured in Network Layer of an Network Protocol, not in application layer where PHP runs. Simply, PHP does not have access to it and cannot changed them.

Just imagine the vulnerabilities it could create if this was possible.

Upvotes: 1

Related Questions