Práticas recomendadas para permissões de usuário do linux para executar o aplicativo da web como?

Eu vejo um monte de conselhos diferentes on-line sobre onde servir o seu aplicativo da web, o usuário para executá-lo como, etc.

Por exemplo, eu vi servido de: / var / www / site, / srv / www / site / home / $ USER / site.

Vi o usuário ser www-data, $ USER (ou seja, minha conta de usuário) ou um usuário personalizado criado especificamente para esse fim (por exemplo, usuário uwsgi).

Em termos de segurança, qual é o melhor esquema que eu poderia escolher?

Para referência, estou tentando implantar um site do Django com o Nginx e o uwsgi.

Agora, o uwsgi está rodando como root no modo emperor, com uid / gid set como www-data, então os vassals geram com as mesmas permissões que os workers do Nginx. Estou servindo de / home, mas pensando em me mudar.

questionAnswers(1)

yourAnswerToTheQuestion