change ip address of server using PHP

前端 未结 2 672
半阙折子戏
半阙折子戏 2021-01-15 17:12

i need to be able to change the IP address of a server using PHP. i\'m trying to use ifconfig eth0 down as the www-data user to make sure it will

相关标签:
2条回答
  • 2021-01-15 17:46

    I had a similar problem and am considering the following solution:

    1) The php page reads in the IP, Netmask, and gateway, checking for proper formatting and whether the IP is viable and writes that to a text file

    2) A cronjob written in whatever, looks for that file, and if it is there, it reads in the contents, parses it, and makes the changes

    This should be sufficiently secure.

    0 讨论(0)
  • 2021-01-15 18:06

    i figured this out. the answer was to add the www-data user (or whatever the name of your server user is) to the admin group with usermod -a -G admin www-data. if you take a look at /etc/sudoers, you'll notice that anyone in this group can perform sudo commands without a password prompt using sudo -n <command>. made a quick code change:

    //if the ip has changed, bring down the network interface and bring it up with the new IP
    if($ipConf != $ip) {
        $ifdownSuccess = exec("sudo -n ifconfig eth0 down", $downOutput, $downRetvar);
        $ifupSuccess = exec("sudo -n ifconfig eth0 up ".$ip, $upOutput, $upRetvar);
        //TODO: check for ifupSucess and revert to old ip if the command failed
        var_dump($downOutput);
        var_dump($downRetvar);
        var_dump($ifdownSuccess);
        var_dump($upOutput);
        var_dump($upRetvar);
        var_dump($ifupSuccess);
    }
    

    and i'm now in business. was able to connect on the new IP address via SSH and view webpages via the new IP as well.

    0 讨论(0)
提交回复
热议问题