【问题标题】:Setting write permissions on Django Log files设置 Django 日志文件的写权限
【发布时间】:2013-09-12 04:20:21
【问题描述】:

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

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

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

马克

【问题讨论】:

    标签: django apache chmod


    【解决方案1】:

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

    现在你需要为运行 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
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题 - 由于旋转日志文件权限,我在启动 shell 和 celery 时遇到了问题。我正在通过 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组的组员也可以写入。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-31
        • 2011-11-23
        • 2017-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-15
        相关资源
        最近更新 更多