其實有很多方法....
1. 直接給 apache root 權限
危險 - apache 若是被攻陷,則等於linux主機被攻下
2.使用popen執行 su 指令,並輸入密碼
不甚喜歡一個網頁的原始碼中帶有root的密碼apache 若掛了密碼一樣被帶走
3.安裝super套件PHP透過此套件呼叫
好處是可以偽裝實際執行的指令,也不會有以上的缺點
既然第三點比較符合安全條件那就來實際執行吧
1. 安裝 super 套件
2. 設定 super
a. vi /etc/super.tab
b. 命令(php)+script路徑+可執行此命令的linux使用者(apache2 使用者為"www-data")
EX: mkuser /sbin/useradd www-data
3. 透過php 中的function
php code
system(escapeshellcmd("/bin/super mkuser myUser"));
PS
sell script
%1 第一個空格後的變數
沒有留言:
張貼留言