寫個頁面的東西,來執行服務器上命令,最簡單的比如reboot命令,用php來調用 參考網上方法如下
先建立一個腳本( /root/reboot_server.sh ),重啓用的。
代碼如下:
#!/bin/bash
reboot
再給他賦予權限 4755
chown root:root /root/reboot_server.sh
chmod 4755 /root/reboot_server.sh
chmod 4777 /sbin/reboot
、
再在 php 裏, 想辦法做如下調用 php
reboot.php 代碼如下:
<?php
exec ("/root/reboot_server.sh",$out,$status);
print_r($out);
print_r($status);
?>
然後,通過頁面來訪問reboot.php(lnmp平臺做了虛擬主機,可以通過域名來訪問x.x.com/reboot.php)
其結果返回 126的狀態碼,搜索網上解決方案,一直無果
索性將/root/reboot_server.sh移到了和reboot.php 同一個目錄中
訪問,可以了,返回狀態碼0 系統重啓了
意識到是目錄權限的問題,/root目錄對php的用戶www沒有可執行權限
chmod -R 755 /root
然後把reboot_server.sh移動到了/root 重新測試
搞定了
。。。。。。一說都是淚啊,因爲一個目錄的權限,折騰啊