저는 현재 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>