设置Django日志文件的写权限

时间:2013-09-08 15:19:43

标签: django apache chmod

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

我在目录上运行了chmod -Rv 777,它设置了所有权限,所以我们可以做我们喜欢的事情,但是创建的下一个日志文件会回到默认状态。

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

马克

2 个答案:

答案 0 :(得分:3)

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

现在,您需要为运行apache服务的人设置适当的权限

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

然后为这个运行apache的特定用户(www-data?)

sudo chown -R your_user:user_running_apache directory

其中目录是django应用程序的根目录。 确保将来添加到此目录的所有文件都有 运行正确的权限:

sudo chmod -R g+s directory

答案 1 :(得分:1)

我遇到了同样的问题 - 由于旋转日志文件权限,我遇到了启动shell和芹菜的问题。我通过uwsgi(由www-data用户运行)运行我的django项目 - 所以我通过为它设置umask来处理它(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组的组成员也可以写入其中。