web-dev-qa-db-ja.com

www-dataユーザーとは何ですか?

buntu 16.04でuWSGIとNginxを使用してDjangoアプリケーションを提供する方法 で作業しています。記事の「uWSGI用のsystemdユニットファイルの作成」の最後で、www-dataユーザーについて説明しています。これは何であり、なぜ重要なのですか?

33
user61629

セキュリティ用

ファイルは誰でも書き込めません。それらは、書き込み用のファイルの所有者に制限されています。

Webサーバーは特定のユーザーで実行する必要があります。そのユーザーが存在する必要があります。

ルートの下で実行された場合、すべてのファイルはルートからアクセス可能でなければならず、ユーザーはファイルにアクセスするためにルートである必要があります。 rootが所有者である場合、侵害されたWebサーバーはシステム全体にアクセスできます。特定のIDを指定することにより、侵害されたWebサーバーはサーバー全体ではなくそのファイルにのみアクセスできます。

別のユーザーIDで実行することにした場合、そのユーザーは適切な特権を得るためにファイルの有効な所有者である必要があります。システム全体のファイルを個人のアカウントに所有することは、混乱を招く可能性があります。

特定のユーザーを作成すると、ファイルを認識しやすくなり、サイトに追加された新しいファイルやフォルダーにchownするIDを認識しやすくなります。

所有者のseridまたはNameは関係ありません。何を選択または決定するかは、Webサーバー構成ファイルで構成する必要があります。

デフォルトでは、所有者の構成は、Apache2のUbuntu構成のwww-dataです。これがデフォルトの構成であるため、Webファイルに必要な所有権を簡単に把握できます。変更する場合は、サイト内のファイルを一致するように変更する必要があります。

Nginxは実行しませんが、Ubuntuリポジトリにあるため、www-data構成がデフォルトとしてテストされていると確信しています。

33
L. D. James

www-dataは、Ubuntu(Apache、nginxなど)のWebサーバーがデフォルトで通常操作に使用するユーザーです。 Webサーバープロセスは、www-dataがアクセスできる任意のファイルにアクセスできます。他の重要性はありません。

base-passwdドキュメント(/usr/share/doc/base-passwd/users-and-groups.txt.gz)から:

一部のWebサーバーはwww-dataとして実行されます。このユーザーがWebコンテンツを所有しないでください。所有していると、侵害されたWebサーバーがWebサイトを書き換えることができます。 Webサーバーによって書き込まれたデータは、www-dataが所有します。

17
muru