Linux
Nginx 嘗試寫入圖像文件時權限被拒絕
我正在將 Nginx 用於 Linux 伺服器,並且我有這個文件夾
/usr/local/openresty/nginx/webfolder/img
,我希望 nginx 在其中保存我上傳的圖像文件。所以,這就是我所做的:
1)我將目錄的所有者更改為組中的
www-data
使用者www-data
:
chown -R www-data:www-data /usr/local/openresty/nginx/webfolder/img
2)然後我更新了目錄的權限:
sudo chmod 0600 /usr/local/openresty/nginx/webfolder/img
Lua上傳錯誤部分(我記錄錯誤的地方):
fileToSave, errMessage = io.open(savefiletarget, "w+b") if not fileToSave then --ngx.say("failed to open file ", savefiletarget) ngx.log(ngx.NOTICE,'failed to save file : '..savefiletarget..' reason: '..errMessage); ngx.say('{"filename" : "'..filenametosave..'","status" : 0 ,"message":"failed to open file"}') return end
現在
Permission Denied
,當我嘗試上傳文件時,我的錯誤日誌仍然顯示。我假設
www-data
nginx 使用的使用者對嗎?那麼為什麼我仍然無法寫入文件?
你給了目錄錯誤的權限。
0600
將授予目錄的讀取和寫入權限。但是要訪問目錄,還需要執行權限。這是一個例子:[jenny@temeraire sf] $ mkdir test1 [jenny@temeraire sf] $ chmod 0600 test1 [jenny@temeraire sf] $ touch test1/foo touch: test1/foo: Permission denied [jenny@temeraire sf] $ chmod 0700 test1 [jenny@temeraire sf] $ touch test1/foo [jenny@temeraire sf] $ ls -ld test1/foo -rw-r--r-- 1 jenny staff 0 Jun 5 07:46 test1/foo