centos 5.5 開啟selinux支援apache ftp phpmyadmin方案

來源:互聯網
上載者:User

對於剛使用Redhat Enterprise Linux4 或Fedora Core 2以上/CentOS 4的使用者,一定會為Apache經常無法正常運轉,報以"Permission denied"等錯誤而大為不解,甚至大為惱火。
其實這是因為這些系統裡啟用了SELinux,而使用者的apache配置與SELinux的配置策略有抵觸產生的,只有通過適當調整,使apache的配置和訪問符合策略才能正常使用。
1.phpmyadmin在非預設/var/www/html目錄下無法運轉
通常類似的情況都是在配置了虛擬機器主機時,訪問/phpmyadmin等提示403訪問拒絕,日誌裡也提示Permission denied,這是因為phpmyadmin防止的目錄及檔案本身屬性不符合context要求。
假設phpmyadmin放在/web目錄下,那麼執行:
chcon -R -t httpd_user_content_t /web
則會令/web及其下所有子目錄/檔案,包括phpmyadmin檔案都獲得了httpd_user_content_t的屬性,如果其傳統的Unix屬性對httpd來說是可讀的話,再重新訪問一下就應該可以了。
2./home目錄下的虛擬機器主機無法運轉
與問題1也是類似的,不過根據上文中context的定義,/home目錄下必須是使用者的$HOME/www或public_html或web目錄才是 httpd_user_content_t類型,因此建議將要作為web頁面的內容放置在使用者的$HOME/www或web或public_html裡,並確保其屬性是httpd_user_content_t,使用如下命令查看:
ls -Z /home/abc/
drwxr-xr-x abc abc user_u:object_r:user_home_dir_t tmp
drwxrwxr-x abc abc user_u:object_r:httpd_user_content www
如不是,則可通過chcon來逐級目錄及檔案更改,直至最後能訪問:
chcon -R -t httpd_user_content_t /home/abc/web
chcon -t user_home_dir_t /home/abc
3.CGI程式無法運行
如果cgi程式放在/var/www/cgi-bin/裡也無法執行,遇到403或500錯誤的話,可以檢查cgi 程式的屬性,按SELinux contexts檔案裡定義的,/var/www/cgi-bin/裡必須是httpd_sys_script_exec_t 屬性。通過ls -Z查看,如果不是則通過如下命令更改:
chcon -t httpd_sys_script_exec_t /var/www/cgi-bin/*.cgi
如果是虛擬機器主機裡的cgi,則參考問題2使之能正常使用普通的功能後,再通過chcon設定cgi檔案的context為httpd_sys_script_exec_t即可。
4.Setuid/gid 程式無法運行
例如早期的SqWebMail及qmailadmin等,需要setuid/gid的支援,但在SELinux下這將受到嚴格限制。第一種方法是比較徹底的辦法,能保留系統的安全性,通過:
audit2allow -l -i /var/log/messages
將SELinux拒絕的資訊轉換為相應的policy allow指令,將這些指令添加到SELinux policy 的src裡相應的設定檔,重建policy並載入。但這樣做相對比較麻煩。
另一個方法最簡單,但將使apache得不到保護。首先確定SELinux 類型是targeted的:
cat /etc/selinux/config|grep SELINUXTYPE
然後,使apache脫離SELinux保護:
setsebool -P httpd_disable_trans 1
然後重啟動apache:
/etc/init.d/httpd restart
4、ftp使用(針對vsftpd的方法 selunix對proftpd好像沒有起到限制作用,我自己用的是proftpd 沒有這樣設定,但是還是可以使用的 )
[root@jboss01 sbin]# cd /usr/sbin
[root@jboss01 sbin]# ./setsebool -P ftp_home_dir=1
這樣所有apache強制的檢查都失效,需要setuid/gid的程式可以正常使用。但這樣帶來了增加漏洞的危險,對於迫切需要運行而又很急的情況,本方法是一個最大限度減少系統安全缺失的最後辦法。對於取消SELinux 未必是一個好方法。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.