2011年11月29日 星期二

[PHP] root 權限下使用linux command

PHP使用 root 權限執行linux conmand
其實有很多方法....



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 第一個空格後的變數

沒有留言:

張貼留言