SELinux for Apache CGI

2006/03/15
~ 阿亮 ~
最近安裝某產品在 Redhat Enterprise Server 4 (ES4) 上,有一部份需要以 cgi 的方式運作,
而且,Apache 設定都有設 ScriptAlias 等,同樣的環境在 Redhat9 都沒有問題,可是在
ES4,該 cgi 就是不正常 Work (internal error 之類的),查 Log 有下述的訊息。

  • audit(1141721196.117:0): avc: denied { execute } for pid=5818 comm=httpd name=xxx dev=hda2 ino=295228 scontext=root:system_r:httpd_t tcontext=system_u:object_r:usr_t tclass=file

網路查到這是 SELinux 這個套件所造成的,在 ES3 以及 Fedora 3 以後的版本,預設都會開啟此套件, 許多網頁會建議,/etc/selinux/config 這個檔,SELINUX=enforcing 改成 SELINUX=disabled ,嗯,這不是好主意,因為這是完全關閉該機制。就像買了個人防護軟體,然後,將所有的安全預設值,全部關掉一樣。

主要用 chcon 這個指令將要提供服務的目錄加以設定,-R 表示 recursive dir, -t 表示要指定的類型

  • chcon -R -t httpd_user_content_t <要被 cgi process 讀取的檔案目錄>
  • chcon -R -t httpd_sys_script_exec_t <提供 CGI 服務的目錄>

其餘 chcon 設 httpd 的其他類型,參考這裡 。

如果設定後,覺得總是有問題,可以用下列指令回歸到原始的設定,再重新設定

  • /sbin/restorecon -v -R /home

參考來源:



站內搜尋



本站其他服務

本站其他軟體



  • 下一台單車(NextBike)

    打開定位即搜尋附近二十點自行車站點,不塞滿全部站點資料到整個地圖上,所以畫面簡潔方便看清楚目前所在地,若需要搜尋地圖其他位置附近站點,再點擊地圖即可。


  • 台灣空污警報(AirInfo)

    設定特定站點為推播通知關注點後,當該站點空氣品質變糟時,即時推播通知給您。另外提供站點附近基本天氣預測資料。


  • 照片去背(PhotoEraser)

    一款方便移除背景的工具,產生透明背景圖可以存回原本相簿,也可分享到其他 App 使用.


  • 下一班公車(nextBus)

    這個 app 只要開啟後,就根據定位幫你過濾出附近站牌的時刻表,以及提供相關公車預計到站的時間,方便您在很快時間內確定要坐的哪一班公車


  • 條碼掃描器(QRCode)

    支援 QRCode and Barcodes、可連續快速掃描、自動對焦、可打開手電筒供掃描時使用


  • 下一班高鐵 (nextTHSR)

    這個 app 只要開啟後,就根據定位幫你過濾出最近高鐵站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班高鐵