PHP函式 exec 獲取更高許可權(sudo)

2021-08-30 08:47:23 字數 1018 閱讀 4182

在伺服器環境 apache + php下,php函式exec()執行whoami得到的結果是apache,說明是以使用者apache來執行命令。

$result

=exec

("whoami"

,$outcome

,$status);

var_dump

($outcome);

//array(1)

檢視apache的配置檔案/etc/httpd/conf/httpd.conf如下:

可通過給使用者apache新增可使用sudo命令的許可權,來使exec()函式獲取更高執行許可權。

以超級使用者(如root使用者)執行visudo來編輯配置檔案。

在配置檔案中新增

apache all=(all) nopasswd:all

如下圖:

至此,使用者apache會有近似root的執行許可權。

在執行的命令前新增sudo,例:

$result

=exec

("sudo service postfix restart"

,$outcome

,$status);

var_dump

($outcome);

// array(2)

更多關於sudo命令的許可權配置可移步

php呼叫exec函式

在php中,經常遇到php呼叫外部指令碼程式,如exec,system函式 本環境在windows平台下測試 在php中呼叫perl指令碼,perl檔案內容如下 c xampp perl bin perl usejson useencode my val helloworld n my jsonco...

PHP 執行exec函式

exec 執行外部程式 語法 string exec string command array output int return var exec函式解析 exec語法 string exec string command,string array int return var exec返回值 字...

php中exec 函式返回值

php中可以使用 exec 函式呼叫外部函式。語法 string exec string command array output int return var exec 會執行command引數所指定的命令。exec 預設情況會返回指定命令結果的最後一行,指定output引數,會使用返回結果填充o...