Мне нужно иметь возможность изменить IP-адрес сервера с помощью PHP. я пытаюсь использовать ifconfig eth0 down
в качестве пользователя www-data
, чтобы убедиться, что он будет работать. до сих пор я избавился от проблемы с разрешениями в файле / var / run / network / ifstate, но теперь я получаю строку с отказом в разрешении, которая читает SIOCSIFFLAGS: Permission denied
. Это можно обойти? если нет, то как изменить IP-адрес сервера на веб-странице?
php код:
//if the ip has changed, bring down the network interface and bring it up with the new IP
if($ipConf != $ip) {
$ifdownSuccess = exec("ifconfig eth0 down", $downOutput, $downRetvar);
$ifupSuccess = exec("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);
}
возвращается:
array(0) { } int(127) string(0) "" array(0) { } int(127) string(0) ""
Есть ли способ обойти эту проблему с разрешениями или другой инструмент, который я могу использовать для этого?