1. 程式人生 > >如何讓PHP通過ROOT許可權來執行LINUX命令

如何讓PHP通過ROOT許可權來執行LINUX命令

一般 PHP 在 LINUX 伺服器上執行 shell 命令時,只能擁有 www:www 賬戶許可權,想執行一些系統命令是沒有許可權的,如重啟 apache,因為控制 apache 需要 root 許可權,因此下面的辦法可以讓 PHP 執行 ROOT 許可權的命令。

1、建立一個 C 語言檔案,test.c,裡面內容如下

#include#include#include <sys/types.h>#include <sys/wait.h>#includevoid main(){pid_t pid;uid_t uid,euid;uid=getuid();euid=geteuid();setreuid(euid,uid);//下面程式碼中加入想讓 PHP 執行的命令,如重啟 apachesystem(“/etc/init.d/httpd restart”);}

2、編譯這個 c 檔案 gcc -o test test.c,生成 test 這個可執行檔案

3、給這個 test 檔案賦 root 許可權,並且加入任何使用者都能訪問的許可權

chown root:root testchmod u+s test

4、在 PHP 中呼叫 test 這個執行檔案,來實現重啟 apache