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


回答:


36

セキュリティのため。

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

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

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

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

特定のユーザーを作成すると、ファイルの認識が容易になりchown、サイトに追加された新しいファイルやフォルダーのIDを一貫して認識できるようになります。

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

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

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


2
グローバルな状況についても説明してくれてありがとう。
user61629

1
ところで、「特定のID」とは何ですか?
-user61629

1
ですwww-data。あなたの質問のように、userIDとgroupIDが存在しない場合は作成するように頼まれたのはそのためです。Apache2のインストールにより、ユーザーが自動的に作成されます。Nqinxについてはわかりません。存在するかどうかを確認するには、次を使用しますiid -u www-data&&id -g www-data。存在する場合は、ユーザーとグループのID番号が表示されます。Ubuntuのデフォルトでは、ユーザーとグループの番号は33です。
LDジェームズ

パッティングwww-dataで述べたように所有者としてでもセキュリティ上のリスクとなる可能性がありますbase-passwdドキュメント所有者は通常、すべてのWebコンテンツサービスへの読み取り/書き込みアクセス権を持っているように、(muruの答え@参照します)。www-data所有者への書き込みアクセスを削除するか、別の所有者を使用できます。www-data提供されるすべてのデータへの読み取りアクセスが必ず必要ですが、各ファイルとディレクトリに必要なアクセス許可だけを与えれば、それ以上ではなく、より安全になります。
ユヴァル

18

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

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

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


3
webrootファイルを介してwww-dataアクセスを許可しない理由に関する議論を除きます;)
kitingChris

1
これをもっと具体的にするために、ページを提供するときにWebサーバーがアクセスする必要があるサービスを尋ねることはできますか?
user61629

2
@ user61629サービス?サービスの通常の定義では、Webサーバー自体がサービスです。
ムル

1
@kitingChrisはい、私はちょうどbase-passwdそのためのドキュメントを掘っていた
ムル

1
www-dataサービスhttpd(apache)がシステムで動作しているユーザー(およびグループ)です。
kitingChris
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.