[英]Changing ip address of apache server using php
我試圖創建一個設置頁面(針對客戶端),在其中他們可以查看當前的注冊地址,更改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。
您的PHP腳本沒有足夠的特權來更改接口地址。 您可能要編寫一個Shellscript,為其賦予適當的特權(例如,將其所有者更改為root,並設置suid位),然后從您的PHP腳本運行它。 但是,我建議不要這樣做
IP地址是在網絡協議的網絡層中配置的,而不是在運行PHP的應用程序層中配置的。 簡單地說 ,PHP無法訪問它,因此無法更改它們。
試想一下,如果可能的話,它可能造成的漏洞。
在ifconfig起作用之前添加/srv/http
。 它所需要的只是擁有根的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.