我的服务器中有两个 pdf 文件:
-rwxr-xr-x. 1 apache apache 1422861 Sep 11 2014 file1.pdf
-rwxr-xr-x. 1 apache apache 340815 Aug 27 13:06 file2.pdf
我可以通过访问第一个www.myserver.com/pdffiles/file1.pdf
我刚刚上传了第二个文件并将权限更改为 apache:apache 和 rwxr-xr-x 这样我就不会遇到权限问题,但是当我尝试使用以下命令访问第二个文件时www.myserver.com/pdffiles/file2.pdf我明白了:
禁止
您无权访问此服务器上的 /pdffiles/file2.pdf。
我缺少什么?
我的 ssl_error_log 上有以下内容:
[Thu Aug 27 13:30:46.755295 2015] [core:error] [pid 3025] (13)权限被拒绝: [client xxxx:60230] AH00132: 文件权限拒绝服务器访问: /var/www/myserver/file2.pdf
答案1
我不知道问题出在 SELinux 上,但我发现这就是问题所在,因为我用 关闭了它setenforce 0
,然后它就工作了。这就是我列出文件时的样子ls -alZ
-rwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 file1.pdf
-rwxr-xr-x. apache apache unconfined_u:object_r:user_home_t:s0 file2.pdf
所以我用以下方法修复了它:
chcon unconfined_u:object_r:httpd_sys_rw_content_t:s0 file2.pdf
我还用 重新打开了 SELinux setenforce 1
。