¿Mejores prácticas para los permisos de usuario de Linux para ejecutar aplicaciones web como?

Veo muchos consejos diferentes en línea sobre desde dónde servir su aplicación web, a qué usuario la ejecutará, etc.

Por ejemplo, lo he visto desde: / var / www / site, / srv / www / site, / home / $ USER / site.

He visto al usuario ser www-data, $ USER (es decir, mi cuenta de usuario) o un usuario personalizado creado específicamente para ese propósito (por ejemplo, usuario uwsgi).

En términos de seguridad, ¿cuál es el mejor esquema que podría elegir?

Para referencia, estoy tratando de implementar un sitio de Django con Nginx y uwsgi.

En este momento, uwsgi se ejecuta como root en el modo emperador, con uid / gid configurado como www-data, por lo que los vasallos generan los mismos permisos que los trabajadores de Nginx. Estoy sirviendo desde / home, pero pensando en mudarme.

Respuestas a la pregunta(1)

Su respuesta a la pregunta