您需要使用chmod
命令修復權限,如下所示:chmod 775 /home/shwetanka/logs/mysite/mysite.log
。
看一下ls -l /home/shwetanka/logs/mysite/mysite.log
文件的所有者,並將其寫入uwsgi
。如果該文件不屬於uwsgi
,則必須使用chown
命令。
看看服務運行的用戶名是ps aux | grep 'uwsgi'
。
如果此時安全性對您不重要,請使用chmod 777 /home/shwetanka/logs/mysite/mysite.log
就是這樣。但是,這不是這樣做的方式。
最安全的方法是檢查文件的所有者和組,然後根據需要更改它們並相應地調整權限。
我們來舉個例子。
如果我在/home/shwetanka/logs/mysite/mysite.log
一個文件和命令ls -l /home/shwetanka/logs/mysite/mysite.log
給出以下輸出:
-rw-rw-r-- 1 shwetanka shwetanka 1089 Aug 26 18:15 /home/shwetanka/logs/mysite/mysite.log
這意味着該文件的所有者是shwetanka
和基團也shwetanka
。現在我們來閱讀rwx
位。第一組與文件所有者有關,因此rw-
表示該文件可由所有者讀取和寫入,可由羣組讀取和寫入,並可由其他人讀取。您必須確保文件的所有者是試圖向其寫入內容的服務,或者該文件屬於服務組,否則您將收到permission denied
錯誤。
現在,如果我的影片所使用的USWGI服務,並希望上述文件是由該服務可寫的用戶名uwsgi
,我必須改變文件的所有者,就像這樣:
chown uwsgi /home/shwetanka/logs/mysite/mysite.log
。由於所有者的寫入位(第一個rwx
組)已設置爲1
,因此該文件現在可由UWSGI服務寫入。如有任何問題,請留下評論。
謝謝。實際上uwsgi進程是在'www-data'用戶下運行的。我用chown改變了用戶並且工作。無論如何,我將日誌文件位置移動到var並給予chmod 775和chown www-data:www-data並且正在工作。再次感謝。 – Shwetanka
不客氣。我盡我所能,我很高興它的工作。 ;-) – Luka