httpd_sys_content_t를 설정한 후에도 httpd가 파일에 액세스할 수 없습니다.

httpd_sys_content_t를 설정한 후에도 httpd가 파일에 액세스할 수 없습니다.

저는 현재 SELinux를 배우고 있습니다. 나는 다음의 지시를 따랐다.RedHat SELinux 문서. 다음 명령을 입력한 후 성공했습니다.

mkdir /mywebsite  
//add something to /mywebsite/index.html  
semanage fcontext -a -t httpd_sys_content_t "/mywebsite(/.*)?"  
restorecon -R -v /mywebsite //everythins worked well by then

하지만 나는 그 이상의 일을 했습니다.

chcon -R -t httpd_sys_content_t /mywebsite  //I can't access index.html now, as expected

restorecon -R -v /mywebsite //Still can't access index.html!!  

semanage fcontext -a -t httpd_sys_content_t "/mywebsite(/.*)?"  
restorecon -R -v /mywebsite  //didn't work, either

ls -dZ /mywebsite // unconfined_u:object_r:httpd_sys_content_t:s0

Firefox의 오류 메시지는 다음과 같습니다.

Forbidden

You don't have permission to access /index.html on this server. 

내가 뭐 놓친 거 없니? 아니면 버그인가요? 내 운영 체제는 Fedora 20 및 Apache 2.4.7입니다.

답변1

다음 디렉터리에서 구성을 복제할 수 있습니다 /var/www/html.

chcon -R --reference=/var/www/html /path/to/your/project  

답변2

내 잘못. 이는 SELinux의 잘못이 아닙니다. Red Hat 튜토리얼이 완료되지 않았습니다. 또한 httpd 구성 파일에 다음을 추가해야 합니다(apache httpd 2.4의 경우).

<Directory "/mywebsite">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

관련 정보