您需要使用命令修复权限,如下所示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
错误消息。
现在,如果我有一个uwsgi
USWGI 服务使用的用户名,并且希望上述文件可由该服务写入,我必须更改文件的所有者,如下所示:
chown uwsgi /home/shwetanka/logs/mysite/mysite.log
. 由于所有者(第一rwx
组)的写入位已设置为1
,因此该文件现在可由 UWSGI 服务写入。如有任何其他问题,请发表评论。