Directorio de trabajo mod_wsgi y usuario.

Estoy corriendo matraz en mod_wsgi. La aplicación my flask, que se encuentra en /var/www/app recibe un archivo del usuario y lo guarda en el directorio /var/www/app/tmp . Sin embargo, incluso después de todo chmod y chown (pensé que era un problema de permiso), no pude acceder a ese directorio tmp.

Después de un poco de depuración, descubrí que el directorio de trabajo actual de la aplicación del matraz es / . Puedo cambiar el directorio de trabajo por os.chdir('/var/www/') , pero me gustaría evitarlo por motivos de seguridad.

Aquí está mi configuración de apache:

  ServerName mysite.com ServerAlias site.com ServerAdmin admin@localhost WSGIDaemonProcess app user=www-data group=www-data processes=1 WSGIScriptAlias / /var/www/app.wsgi Alias /static /var/www/app/static  WSGIProcessGroup app WSGIApplicationGroup %{GLOBAL} WSGIScriptReloading On Order deny,allow Allow from all   SetHandler None   

¿Cómo puedo cambiar el directorio de trabajo de mi aplicación de / a /var/www ?

La documentación para WSGIDaemonProcess dice que puede usar la stanza home=... :

home = directorio

Define una ruta de acceso absoluta de un directorio que se debe utilizar como el directorio de trabajo actual inicial de los procesos del daemon dentro del grupo de procesos. Si esta opción no está definida, en mod_wsgi 1.X el directorio de trabajo actual del proceso principal de Apache será heredado por los procesos del daemon dentro del grupo de procesos. Normalmente, el directorio de trabajo actual del proceso padre de Apache sería el directorio raíz. En mod_wsgi 2.0+, el directorio de trabajo actual inicial se configurará para que sea el directorio de inicio del usuario con el que se ejecuta el proceso del daemon.

Sin embargo, tengo curiosidad: en su opinión, ¿por qué utilizar os.chdir sería más un riesgo para la seguridad?