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

URL Link //n.sfs.tw/14578

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來呼叫系統程式進行網路的服務