设置Django日志文件的写入权限

10

我有一组Django日志文件,我已经设置了适当的记录器来写出信息。但每次创建新的日志文件时,文件的权限不允许我启动shell,并且有时会导致Apache出现问题。

我已经在目录上运行了chmod -Rv 777,这将设置所有权限以便我们可以随意操作,但下一个被创建的日志文件会恢复到某些默认值。

如何设置要创建的日志文件的权限?

Marc

2个回答

4

由特定用户创建的文件的权限取决于为该特定用户设置的掩码。

现在您需要为运行apache服务的用户设置适当的权限。

ps -aux | grep apache | awk '{ print $1 }'

那么对于运行apache的特定用户(www-data?)

sudo chown -R your_user:user_running_apache directory

其中directory是您的Django应用程序的根目录。 为了确保将来添加到此目录中的所有文件都具有正确的权限,请运行以下命令:

sudo chmod -R g+s directory

如果我正在使用Nginx呢? - Abhijith Konnayil

2
我遇到了同样的问题 - 由于旋转日志文件的权限问题,我无法启动shell和celery。 我通过为其设置umask来解决这个问题(uwsgi是由www-data用户运行的)(http://uwsgi-docs.readthedocs.org/en/latest/Options.html#umask)。此外,我正在使用buildout,所以我的修复方法如下:
[uwsgi]
recipe = buildout.recipe.uwsgi
xml-socket = /tmp/uwsgi.sock
xml-master = True
xml-chmod-socket = 664
xml-umask = 0002
xml-workers = 3
xml-env = ...
xml-wsgi-file = ...

在此之后,该日志文件的权限变为了664,因此www-data组的成员也可以向其中写入内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接