[精讚] [會員登入]
2190

[SELINUX] php 呼叫系統程式(使用exec, system等)執行網路服務

這近想透過PHP呼叫系統的程式來執行網路的服務,怎麼測試都失敗…

分享此文連結 //n.sfs.tw/14578

分享連結 [SELINUX] php 呼叫系統程式(使用exec, system等)執行網路服務@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
最後編修
2020-03-18 11:23:38 By 張○○
 

這近想透過PHP呼叫系統的程式來執行網路的服務,例如 ping

index.php --> 呼叫系統的程式 -->進行網路檢測

index.php

$res= exec("ping 8.8.8.8");

 

後來發現是SELinux的問題

分別要開二個開關,只要有用到函式 exec, system, passthru, eval, ``(cf [PHP] 讀取作業系統程式執行結果@新精讚) 都需要

# setsebool -P httpd_ssi_exec  on

要讓shell能進行網路呼叫,再開另一個開關

# setsebool -P httpd_can_network_connect on

這樣就能透過php來呼叫系統程式進行網路的服務

 

END

你可能感興趣的文章

[Centos8] 利用nmcli 設定ipv4 位址 Centos7之後修改網路設定變得比較麻煩一點,此篇介紹使用nmcli指令的方法

[CentOS] 改錯fstab 無法開機怎麼辦? Linux 改錯fstab 無法開機怎麼辦?

[CENTOS7] 安裝rrdtool+RRDs+PERL 要讓perl繪圖,安裝rrdtool和RRDs

[Rocky9] LetsEncrypt + nginx + docker 使用 certbot container 配合 nginx 來設製HTTPS.

Centos7 安裝 docker-composer 及使用 docker compose 是使用docker的利器,可以讓很多的指令用文檔的方式載入。

[Linux] 安裝rsync (selinux 的設定) 在selinux enforcing 的情況下安裝rsync

隨機好文

為什麼要買長達二十年的保單? 為什麼要買長達二十年的保單?找一個可以說服我買二十年保單的理由。

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

魔球中小女孩唱的歌 The show 魔球中小女孩唱的歌 The show

[大型機台] 熱血高校躲避球 多少少年時光歲月耗在這個遊戲上,二十幾年前的那個時光,唯一想做的事就是把吃飯錢省下來拿去打一場五塊錢的電動,就算是沒錢也