我在网上看到很多不同的建议,关于web应用程序应该从哪里服务,以什么用户身份运行等。
例如,我曾经看到过它从/var/www/site、/srv/www/site、/home/$USER/site中提供服务。
我曾经见过的用户是www-data,$USER(即我的用户帐户),或者是专门为此目的创建的自定义用户(如用户uwsgi)。
就安全性而言,我可以选择什么样的最佳方案?
作为参考,我正在尝试使用Nginx和uwsgi部署Django网站。
目前,uwsgi以emperor模式作为root运行,uid/gid设置为www-data,因此vassals生成与Nginx工作进程具有相同的权限。我正在/home中服务,但考虑进行移动。
例如,我曾经看到过它从/var/www/site、/srv/www/site、/home/$USER/site中提供服务。
我曾经见过的用户是www-data,$USER(即我的用户帐户),或者是专门为此目的创建的自定义用户(如用户uwsgi)。
就安全性而言,我可以选择什么样的最佳方案?
作为参考,我正在尝试使用Nginx和uwsgi部署Django网站。
目前,uwsgi以emperor模式作为root运行,uid/gid设置为www-data,因此vassals生成与Nginx工作进程具有相同的权限。我正在/home中服务,但考虑进行移动。
uwsgi
对于您的应用程序用户来说是一个不错的选择,除非您有多个应用程序在运行,这种情况下您可能需要每个应用程序都拥有不同的用户。该用户不应具有sudo或登录权限。正如教程所指出的那样,最重要的是不要将您的代码放在您的Web根目录下。 - bonsaiviking