24h購物| | PChome| 登入
2007-06-15 17:35:59| 人氣449| 回應0 | 上一篇 | 下一篇

SELinux for Apache CGI

推薦 0 收藏 0 轉貼0 訂閱站台

最近安裝某產品在 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

台長: 東進電腦-專業資料救援
人氣(449) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: LINUX |
此分類下一篇:架OpenWebMail時遇到的問題
此分類上一篇:Apache under SELinux

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文