Flask应用程序目录和权限的设置?

tau*_*ich 5 python security ubuntu flask

我在 ubuntu 服务器上构建了一个简单的 Flask 应用程序,并将代码放在以下目录中: 主应用程序代码:/home/user/flaskapp WSGI 配置:www/flaskapp/app.wsgi

我的问题是:

  1. 在生产中,将应用程序代码放置在我的主目录中是否合适?
  2. 我的文件夹权限中应该有什么才能运行安全/可靠的网站?
  3. 我的 Ubuntu 用户名是“flask_user”,我应该给它任何特殊权限或组吗?

jbk*_*kkd 6

我了解到您正在使用 Apache 或 Nginx 作为您的 Web 服务器。如果这是正确的,我会将您的应用程序代码和 app.wsgi 文件放在您的主目录中。

在某些情况下,将文件放在 /var/www 中可以让外界看到它(除非您明确指定它被网络服务器忽略/拒绝网络服务器访问)。除非明确指定,否则将其放置在 /home/user 不允许外界看到它。

至于权限,您需要授予 Web 服务器用户(通常www-data在 Apache 中,除非flask_user也是您的 Web 服务器用户)对 WSGI 文件的读取权限,并且可能还需要执行权限。不确定其他 python 文件的权限,但这很容易测试。首先拒绝您的 Web 服务器用户对该文件的所有权限。如果这不起作用,请授予其读取权限,依此类推,直到站点正常工作。这将是所需的最低许可。