4

我是 Python 开发的新手。

我编写了一个小型 Python Web 应用程序来创建一些文件和目录。当我在命令行中运行它时,一切正常。但是在 uWSGI 下,所有新文件都获得 -rw-rw-rw- 模式,并且目录分别是 -drwxrwxrwx 而不是 -rw-rw-r-- 和 drwxrwxr-x。

uWSGI 配置是 Ubuntu 的默认配置,没什么特别的。uWSGI 应用程序 ini 文件是这样的:

[uwsgi]
plugins=python

nginx配置是这样的:

server {

        listen 8080;

        access_log /path/to/logs/access.log;
        error_log /path/to/logs/error.log;

        location / {
                uwsgi_pass unix:/var/run/uwsgi/app/myapp/socket;
                include uwsgi_params;
                uwsgi_param UWSGI_PYHOME /path/to/myapp/.env/;
                uwsgi_param UWSGI_CHDIR /path/to/myapp/;
                uwsgi_param UWSGI_SCRIPT myapp;
        }

}

我想问题出在 uWSGI 配置不足,但我不知道该怎么办。

4

1 回答 1

4

这是由 uWSGI 的默认 umask 000 引起的,它保留了所有位 - 这意味着文件的默认值为 666,目录的默认值为 777。

您可以通过将umaskuWSGI 配置文件中的选项设置为应删除的位来实现这一点。例如,要获得 644/755,您将使用 022 的 umask 来清除组/其他的写入标志(777-022 = 755、666-022 = 644)

于 2014-05-25T23:08:43.400 回答