我有一个网络应用,用户可以在其中查看图片和视频。 但是当我试图看到任何图像或视频时,我总是得到403权限被拒绝。
我检查了文件的许可及其
drwxrwxrwx. 2 apache apache 4096 Jul 12 09:57 ads
drwxrwxrwx. 5 apache apache 4096 Jul 12 09:58 img
drwxrwxrwx. 3 apache apache 4096 Jul 12 09:58 programs
drwxrwxrwx. 2 apache apache 4096 Jul 12 09:58 seassons
drwxrwxrwx. 2 apache apache 4096 Jul 18 08:34 temp
drwxrwxrwx. 374 apache apache 24576 Jul 18 08:34 videos
当服务器是httpd时,我试图在网络浏览器中打开这些文件夹中的图像。
如果我运行以下命令,一切都开始工作,但对于现有文件...如果用户上传新文件,那么将再次获得403,直到我再次运行命令。
sudo chmod -R g+r /videos
sudo chown -R apache /videos
我的httpd.config是
<Directory "/var/www">
AllowOverride All
# Allow open access:
Require all granted
选项索引FollowSymLinks AllowOverride All 要求全部授予
我的操作系统是Centos7
使用以下权限创建新文件:
-rw-r-----. 1 tomcat tomcat 386688 Jul 18 09:14 mynewfile
答案 0 :(得分:0)
由于创建时设置了权限,您的apache进程无法访问这些文件,因此您需要对其进行更改。我不知道为什么你的新文件的所有者/组被设置为Tomcat - 这必须是某个进程正在运行的用户(不是Apache?)。要设置对新创建的filesna目录的权限,请查看umask
命令 - 这将设置当前目录中新创建的文件的权限。在每个目录中尝试umask 022
,将默认权限设置为用户可写,世界可读。