ウェブアプリケーションをどこから提供するのか、どのユーザをどこから実行するのか、さまざまなアドバイスがオンラインで表示されます。Webアプリケーションを実行するためのLinuxユーザー権限のベストプラクティスは?
たとえば、私は/ var/www/site 、/ srv/www/site、/ home/$ USER/site。
ユーザーはwww-data、$ USER(ユーザーアカウント)、またはその目的で特別に作成されたカスタムユーザー(ユーザーuwsgiなど)です。
セキュリティに関して、私が選ぶことができる最高のスキームは何ですか?
参考までに、Nginxとuwsgiを使ってDjangoサイトを展開しようとしています。
現在、uwsgiはuid/gidがwww-dataとして設定されているので、Emperorモードでrootとして実行されているため、vassalsはNginxワーカーと同じ権限で起動します。私は/ homeから奉仕していますが、動くことを考えています。
私はvirtualenvを持っていれば、/ var/lib/appname/venvの下に行きますか?また、明らかにするために、アプリユーザーは、例えば、 'uwsgi'だが、ssh経由でログインしているユーザーではない(そしてsudo権限を持っている)? – user1431368
FWIW、私のPythonコードは[Djangoチュートリアル](https://docs.djangoproject.com/en/1.4/intro/tutorial01/)(セクション「このコードはどこに住んでいますか?」)のために/ homeにあります – user1431368
はいあなたが複数のアプリケーションを実行している場合を除いて、 'uwsgi'はあなたのアプリケーションユーザーのための良い選択です。ユーザーはsudoまたはログインの権限を持ってはいけません。チュートリアルで指摘しているように、最も重要なことは、Webルートの下にコードを持たないことです。 – bonsaiviking