2017-07-18 32 views
0

我有一個Web應用程序,用戶可以在其中看到圖像和視頻。 但是,當我試圖看到任何圖像或視頻時,我總是得到403權限被拒絕。Apache獲得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。

如果我運行下面的命令,所有的東西都開始工作,但是對於EXISTING文件...如果用戶上傳了一個新文件,那將會再次得到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所有 要求所有授權

我的操作系統是Centos7

新的文件與下列權限創建:

-rw-r-----. 1 tomcat tomcat 386688 Jul 18 09:14 mynewfile 

回答

0

你的Apache進程無法訪問,因爲權限的文件在創建時設定,所以你需要改變這一點。我不知道爲什麼你的新文件的所有者/組被設置爲Tomcat - 這應該是一些進程運行的用戶(不是Apache?)。要在新創建的文件目錄上設置權限,請查看umask命令 - 這將設置當前目錄中新創建文件的權限。在每個目錄中嘗試umask 022以設置用戶可寫的默認權限,世界可讀。