您需要使用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 服务写入。如有其他问题,请发表评论。