代码之家  ›  专栏  ›  技术社区  ›  Almad

使用FastCGI运行Django时的套接字权限

  •  3
  • Almad  · 技术社区  · 14 年前

    exec setuidgid $USERID $VENVBIN/python $WEBAPP/manage.py runfcgi daemonize=false socket=$FCGISOCKET
    

    问题是fastcgi进程和webserver之间只共享一个组,而不是用户-但是默认情况下该组没有写权限(修补程序手动运行chmod g+w)。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Ivan Virabyan    14 年前

    ./manage.py runfcgi help 说:

    umask=umask守护进程时要使用的umask umask(默认022)。

    所以你只需要跑:

    ./manage.py runfcgi socket=$FCGISOCKET umask=007
    

        2
  •  1
  •   justme    14 年前

    没有办法用fastcgi实现这一点,添加了一个os.fchmod 在我生命的尽头settings.py 这似乎使它起作用。这仍然是一个可怕的黑客,他们应该允许你设置时调用服务。

        3
  •  1
  •   rumpel    8 年前

    umask= 与一起运行时不起作用 daemonize=false . 在这种情况下,我只使用当前的操作系统umask,所以运行 umask 0007