9

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

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

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

马克

4

2 回答 2

3

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

现在您需要为运行 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
于 2013-09-08T17:15:02.753 回答
2

我遇到了同样的问题 - 由于旋转日志文件权限,我在启动 shell 和 celery 时遇到了问题。我正在通过 uwsgi(由 www-data 用户运行)运行我的 django 项目 - 所以我通过为它设置 umask 来处理它(http://uwsgi-docs.readthedocs.org/en/latest/Options。 html#umask)。

另外我正在使用构建,所以我的修复看起来像这样:

[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组的组成员也可以写入。

于 2014-10-31T09:55:40.403 回答