由於伺服器的硬碟只有200g,所以另外接了一個硬碟櫃,並掛在/disk1 下面
想當然爾,希望把web的幾個服務搬到/disk1下面,然後不意外的selinux肯定會擋
以前都是只好關掉selinux,可是畢竟不是辦法,所以上網查了一下,做法,看起來也不是太難
例如我想放在/disk1/www/html 下
#首先在 /etc/httpd/conf.d/ 下新增一個 mysite.conf 內容如下:
Alias /mysite/ "/disk1/www/html/mysite/"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
#然後
chcon -R -t httpd_sys_content_t /disk1/www/html
/sbin/service httpd restart
#應該就要好了
#結果試了老半天都不行,都403的權限問題
#上網查了老半天,資料夾的範例都是要你放/var/www 或是/home/user 下面
#啊就硬碟容量不夠,所以不是我要的解法方法
#想來想去,看一下/home /var /disk1 三者的selinux權限哪裏不同好了:
ls -Z /
drwxr-xr-x. root root system_u:object_r:file_t:s0 disk1
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 home
drwxr-xr-x. root root system_u:object_r:var_t:s0 var
#嗯,的確不同,然後想到要讓httpd可以讀 /home 的資料夾是需要設定的,指令如下:
setsebool -P httpd_enable_homedirs=on
#這樣一來,應該可以讀/home 的資料夾,(但是應該不是/home 下的全部資料,裏面要開放的資料夾還必需要是httpd_sys_content_t 才行)
#那我們把disk1也改成 home_root_t是否就可以了?
chcon -t httpd_sys_content_t /disk1
#注意,不需要加上-R ,因為只要/disk1 是 home_root_t 即可,/disk1 下的www 才需要 httpd_sys_content_t
#本來是打指令啦,不過其實建議用視窗來勾選…比較不會出錯,
system-config-selinux
#如果沒有安裝,請裝上這個就可以了
yum install ploicycoreutils-gui
沒有留言:
張貼留言