Linuxウェブサーバー上で、ウェブサイトのファイル/フォルダーにはどのような権限が必要ですか?


310

これは、Linux Webサーバー上のファイル許可に関する標準的な質問です。

複数のWebサイトをホストするApache2を実行しているLinux Webサーバーがあります。各Webサイトには、/ var / www /に独自のフォルダーがあります。

/var/www/contoso.com/
/var/www/contoso.net/
/var/www/fabrikam.com/

ベースディレクトリ/ var / www /はroot:rootが所有しています。Apacheはwww-data:www-dataとして実行されています。Fabrikam Webサイトは、2人の開発者、AliceとBobによって管理されています。Contosoの両方のWebサイトは、1人の開発者Eveによって管理されています。すべてのWebサイトでは、ユーザーが画像をアップロードできます。Webサイトが侵害された場合、影響は可能な限り制限する必要があります。

Apacheがコンテンツを提供し、Webサイトが攻撃から保護され、開発者が変更を加えることができるように、アクセス許可を設定する最適な方法を知りたいです。Webサイトの1つは次のように構成されています。

/var/www/fabrikam.com
    /cache
    /modules
    /styles
    /uploads
    /index.php

これらのディレクトリとファイルにアクセス許可をどのように設定する必要がありますか?私はどこかであなたがウェブサイトで777許可を決して使うべきではないことを読みましたが、どんな問題を引き起こす可能性があるのか​​分かりません。繁忙期には、Webサイトはいくつかのページを自動的にキャッシュし、結果をキャッシュフォルダーに保存します。Webサイトの訪問者によって送信されたすべてのコンテンツは、アップロードフォルダーに保存されます。


6
これは、Webサイトのアクセス許可に関して得られるすべての質問に対する標準的な回答となることを目的としています。
ニック

「Webサイトで777権限を使用してはならないことをどこかで読みましたが、理解していません...」-読者はここで回答のメリットを理解できるか、少なくとも比較することができますか?ソリューションは特定の要件に基づく必要があります-ここでの要件は十分に具体的ではありません(脅威モデルとは)
-symcbean

6
Apacheについて質問しているのが大好きですが、Microsoftが例としてよく使用するドメインを使用しています。
gWaldo


あなたは完全なLinuxでWebサイトのファイルとフォルダの上に置くことが必要とされている権限の詳細については、こちらを参照することができserverfault.com/questions/124800/...

回答:


342

使用するアクセス許可を決定するときは、ユーザーが誰で、何が必要かを正確に知る必要があります。Webサーバーは2種類のユーザーと対話します。

認証されたユーザーはサーバー上にユーザーアカウントを持ち、特定の特権を付与できます。これには通常、システム管理者、開発者、およびサービスアカウントが含まれます。通常、SSHまたはSFTPを使用してシステムに変更を加えます。

匿名ユーザーは、Webサイトへの訪問者です。ファイルに直接アクセスする権限はありませんが、Webページを要求でき、Webサーバーがその代わりに動作します。Webサーバープロセスが持つ権限に注意することで、匿名ユーザーのアクセスを制限できます。多くのLinuxディストリビューションでは、Apacheはwww-dataユーザーとして実行されますが、異なる場合があります。使用するps aux | grep httpdか、ps aux | grep apacheApacheがあなたのシステムに使用しているものユーザーを参照すること。


Linuxの権限に関する注意

Linuxおよびその他のPOSIX準拠システムは、従来のUNIX許可を使用します。ウィキペディアにはファイルシステムのアクセス許可に関する優れた記事がありますので、ここですべてを繰り返すことはしません。ただし、注意すべき点がいくつかあります。

実行ビットの
解釈済みスクリプト(Ruby、PHPなど)は、実行権限がなくても正常に機能します。実行ビットが必要なのはバイナリとシェルスクリプトのみです。ディレクトリをトラバース(入力)するには、そのディレクトリに対する実行権限が必要です。ウェブサーバーは、ディレクトリをリストしたり、その中のファイルを提供したりするためにこの許可が必要です。

デフォルトの新規ファイル許可
ファイルが作成されると、通常は作成者のグループIDを継承します。ただし、新しいファイルが作成されたフォルダーのグループIDを継承したい場合があります。そのため、親フォルダーのSGIDビットを有効にします。

デフォルトの許可値は、umaskに依存します。umaskは、新しく作成されたファイルからアクセス許可を差し引くため、共通の値022は755で作成されるファイルになります。グループと共同作業する場合、umaskを002に変更すると、作成したファイルをグループメンバーが変更できます。また、アップロードされたファイルの権限をカスタマイズする場合は、Apacheのumaskを変更するか、ファイルがアップロードされた後にchmodを実行する必要があります。


777の問題

ときにあなたがchmod 777あなたのウェブサイト、あなたは一切の保障がありません。システム上のすべてのユーザーは、Webサイト内のファイルを変更または削除できます。しかし、もっと真剣に、WebサーバーはWebサイトへの訪問者に代わって動作し、Webサーバーは実行中の同じファイルを変更できることを覚えておいてください。Webサイトにプログラミングの脆弱性がある場合、それらを悪用してWebサイトの改ざん、フィッシング攻撃の挿入、または知らないうちにサーバーから情報を盗むことができます。

さらに、サーバーが既知のポートで実行されている場合(非ルートユーザーが誰でもアクセスできるリスニングサービスを生成できないようにするため)、ルートでサーバーを起動する必要があります(正常なサーバーはすぐにドロップしますが)ポートがバインドされると、権限の低いアカウントに送信されます)。つまり、メインの実行可能ファイルがバージョン管理の一部であるWebサーバー(CGIアプリなど)を実行している場合、ユーザーの名前を変更できるため、そのアクセス許可(または、そのために、含まれるディレクトリのアクセス許可)を残します実行可能ファイル)777では、すべてのユーザーがルートとして実行可能ファイルを実行できます。


要件を定義する

  • 開発者はWebサイトを更新できるように、ファイルへの読み取り/書き込みアクセスが必要です
  • 開発者は、ディレクトリを参照/書き込み/実行する必要があります
  • Apacheはファイルおよび解釈されたスクリプトへの読み取りアクセスを必要とします
  • Apacheは、提供可能なディレクトリへの読み取り/実行アクセスを必要とします
  • Apacheは、アップロードされたコンテンツのディレクトリへの読み取り/書き込み/実行アクセスを必要とします

単一のユーザーによって維持されます

サイトの管理を担当するユーザーが1人だけの場合は、それらのユーザーをWebサイトディレクトリのユーザー所有者として設定し、ユーザーに完全なrwx権限を付与します。Apacheは引き続きファイルを提供できるようにアクセスする必要があるため、www-dataをグループ所有者として設定し、グループにrxパーミッションを付与します。

あなたの場合、ユーザー名がである可能性のあるイブeveは、以下を維持する唯一のユーザーですcontoso.com

chown -R eve contoso.com/
chgrp -R www-data contoso.com/
chmod -R 750 contoso.com/
chmod g+s contoso.com/
ls -l
drwxr-s--- 2 eve      www-data   4096 Feb  5 22:52 contoso.com

Apacheによる書き込みが必要なフォルダーがある場合は、グループ所有者のアクセス許可値を変更するだけで、www-dataに書き込みアクセス権を付与できます。

chmod g+w uploads
ls -l
drwxrws--- 2 eve      www-data   4096 Feb  5 22:52 uploads

この構成の利点は、ユーザーとグループの所有者のみがWebサイトのディレクトリを閲覧できるため、システム上の他のユーザーがスヌープするのが難しくなります(不可能ではありません*)。これは、構成ファイルに秘密データがある場合に役立ちます。umaskに注意してください!ここで新しいファイルを作成すると、おそらくアクセス許可の値はデフォルトで755になります。umask 027新しいファイルのデフォルトが640(rw- r-- ---)になるように実行できます。


ユーザーのグループによって維持されます

複数のユーザーがサイトの管理を担当している場合、アクセス許可の割り当てに使用するグループを作成する必要があります。Webサイトごとに個別のグループを作成し、そのWebサイトにちなんでグループに名前を付けることをお勧めします。

groupadd dev-fabrikam
usermod -a -G dev-fabrikam alice
usermod -a -G dev-fabrikam bob

前の例では、グループ所有者を使用してApacheに特権を与えましたが、現在は開発者グループに使用されています。ユーザーの所有者はもう役に立たないので、rootに設定することは特権が漏洩しないことを保証する簡単な方法です。Apacheは引き続きアクセスする必要があるため、他のユーザーには読み取りアクセス権を付与します。

chown -R root fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 775 fabrikam.com
chmod g+s fabrikam.com
ls -l
drwxrwxr-x 2 root     dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

Apacheによる書き込みが必要なフォルダーがある場合、Apacheをユーザー所有者またはグループ所有者にすることができます。いずれにせよ、必要なすべてのアクセス権があります。個人的には、開発者がアップロードフォルダのコンテンツを引き続き参照および変更できるように、ユーザー所有者にすることを好みます。

chown -R www-data uploads
ls -l
drwxrwxr-x 2 www-data     dev-fabrikam   4096 Feb  5 22:52 uploads

これは一般的なアプローチですが、欠点もあります。システム上の他のすべてのユーザーは、Apacheと同じWebサイトへの特権を持っているため、他のユーザーは簡単にサイトを閲覧し、設定ファイルなどの秘密データを含むファイルを読むことができます。

ケーキを持って食べてもいい

これはさらに改善することができます。所有者がグループよりも少ない権限を持っていることは完全に合法であるため、ルートに割り当てることでユーザー所有者を無駄にする代わりに、ApacheをWebサイトのディレクトリおよびファイルのユーザー所有者にすることができます。これは、単一のメンテナーシナリオの反転ですが、同様に機能します。

chown -R www-data fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 570 fabrikam.com
chmod g+s fabrikam.com
ls -l
dr-xrwx--- 2 www-data  dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

Apacheによる書き込みが必要なフォルダーがある場合、www-dataが書き込みアクセス権を持つように、ユーザー所有者のアクセス許可値を変更するだけです。

chmod u+w uploads
ls -l
drwxrwx--- 2 www-data  dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

このソリューションで注意すべきことの1つは、新しいファイルのユーザー所有者がwww-dataに設定されるのではなく、作成者と一致することです。したがって、作成した新しいファイルは、それらをchownするまでApacheで読み取ることができません。


* Apache特権の分離

使用している特権の種類に関係なく、他のユーザーが実際にWebサイトをスヌープする可能性があることは前述しました。デフォルトでは、すべてのApacheプロセスは同じwww-dataユーザーとして実行されるため、Apacheプロセスは同じサーバーに設定されている他のすべてのWebサイトからファイルを読み取り、場合によっては変更を加えることもできます。Apacheを取得してスクリプトを実行できるユーザーは、Apache自体と同じアクセス権を取得できます。

この問題に対処するために、Apacheの特権分離にはさまざまなアプローチがあります。ただし、各アプローチにはさまざまなパフォーマンスとセキュリティの欠点があります。私の意見では、セキュリティ要件がより高いサイトは、共有サーバー上のVirtualHostsを使用するのではなく、専用サーバーで実行する必要があります。


追加の考慮事項

以前は言及しませんでしたが、通常、開発者にWebサイトを直接編集させるのは悪い習慣です。大規模なサイトの場合は、バージョン管理システムのコンテンツからWebサーバーを更新する何らかのリリースシステムを使用することをお勧めします。単一のメンテナーのアプローチがおそらく理想的ですが、人の代わりに自動化されたソフトウェアを持っています。

Webサイトで提供する必要のないアップロードが許可されている場合、それらのアップロードはWebルート以外の場所に保存する必要があります。それ以外の場合、人々は秘密であることが意図されたファイルをダウンロードしていることに気付くでしょう。たとえば、学生に課題の提出を許可する場合、Apacheが提供していないディレクトリに保存する必要があります。これは、秘密を含む構成ファイルの優れたアプローチでもあります。

より複雑な要件を持つWebサイトの場合は、アクセス制御リストの使用を検討することができます。これらにより、特権のより高度な制御が可能になります。

Webサイトに複雑な要件がある場合は、すべてのアクセス許可を設定するスクリプトを作成することをお勧めします。徹底的にテストしてから、安全に保管してください。何らかの理由でウェブサイトを再構築する必要がある場合は、金で一見の価値があります。


10
「chmod -R 775 fabrikam.com」。ほとんどのWebサイト内の実行可能ファイルはごくわずかです。たとえば、phpスクリプトは、Webサーバーがそれらを読み取れる限り、0640にすることができます。chmod -R a + X fabrikam.comは、ディレクトリ上のすべてのユーザーに実行可能権限を与えます。

7
ApacheはapacheRed Hat派生システムでユーザーとして実行されることに注意してください。
マイケルハンプトン

これは優れていますが、理解できなかったことが1つあります。ファイルのグループ所有権を既に持っている場合、ファイルのディレクトリのユーザー/所有者をApacheにする戦略の目標や利点がわかりません。
-idiotprogrammer

この答えは、包括的ではありますが、DAC権限のみを扱います。MACアクセス許可も考慮する必要があると思います。
ダウド

1
これは素晴らしい投稿です。ここに私の貢献です。で述べたグループ(としての所有者とDEV-FabrikamのようWWW-データを使用しての欠点あなたがあなたのケーキを持って、あまりにもそれを食べることができるもで提供されるシナリオに)逆に(適用される単一のユーザーによって維持さという点で。シナリオでは、Apacheがフォルダーまたはファイルを作成するたびに、ユーザーはアクセスできないため、ファイルを元のユーザーに戻す必要があります。自分の声明について100%確信がないため、答えを更新していません。 。答えにパッチを当てる前に他の人に確認して

14

Apache(および/またはPHP)の機能を制御するために、Linux権限の「その他」(o)の部分を使用する(または推奨する)理由が不思議です。この正しい部分を「0」以外に設定することにより、ファイル/ディレクトリで全世界が何かを実行できるようになります。

私のアプローチは次のとおりです。

  • 2人の別々のユーザーを作成します。1つはすべてのファイルを所有するSSH / SFTPアクセス用(必要な場合)、もう1つはPHP FastCGIユーザー(Webサイトを実行するユーザー)用です。これらのユーザーをそれぞれbobおよびbob-wwwと呼びましょう。
  • bobは完全な権限(フォルダーのrwx、ファイルのrw-)を持っているため、Webサイト全体を読んで編集できます。
  • PHP FastCGIプロセスには、フォルダーに対するrx権限とファイルに対するr--権限が必要です。ただし、「書き込み」権限も必要な、cache/またはなどの非常に特殊なフォルダーを除きuploads/ます。PHP FastCGIにこの機能を付与するために、bob-wwwとして実行され、bob-wwwが自動的に作成されたbobグループに追加されます。
  • すべてのディレクトリとファイルの所有者とグループがbob bobであることを確認します。
  • でも私たちはFastCGIのを使用しますが、Apacheは、まだ静的コンテンツ、またはそれがあれば読んしようとします.htaccessファイルを、読み取りアクセスを必要とする:何かが欠けているAllowOverride以外の何かに設定されていますNone。権利のo部分の使用を避けるために、www-dataユーザーをbobグループに追加します。

今:

  • 開発者ができることを制御するために、権利のu部分で遊ぶことができます(ただし、これは以下の注意事項です)。
  • ApacheとPHPでできることを制御するために、権利のg部分を操作できます。
  • Oの部分は常に0に設定されているので、サーバー上の誰もがウェブサイトを読んでいないか、編集することができます。
  • bobユーザーが自動的にメイングループ(bob)に属するため、bobユーザーが新しいファイルを作成しても問題はありません。

これは要約ですが、この状況では、bobはSSHを許可されます。Webサイトの変更を許可されたユーザーがいるべきではない場合(たとえば、顧客がCMS管理パネルからのみWebサイトを変更し、Linuxの知識がない場合)、とにかく2人のユーザーを作成しますが、bobの/bin/falseシェルとしても提供します。ログインを無効にします。

    adduser --home /var/www/bobwebsite --shell /bin/bash bob
    adduser --no-create-home --shell /bin/false --disabled-login --ingroup bob bob-www
    adduser www-data bob
    cd /var/www/bobwebsite
    chown -R bob:bob .
    find -type d -exec chmod 750 {} \;
    find -type f -exec chmod 640 {} \;

注:ファイルの所有者はコマンドを実行できるため、権限が000であっても、u(所有者)権限を制限することはほとんどの場合役に立たず安全ではないことを忘れがちchmodです。

私のアプローチにセキュリティ上の問題があるかどうかを教えてください。100%確実ではありませんが、私が使用しているものです。

この設定には問題があると思います:PHP / Apacheが新しいファイル(例:アップロード)を作成するとき、それはbob-www:bobに属し、bobはそれを読むことができるだけです。ディレクトリのsetuidで問題を解決できる場合があります。


Linuxは無視しsetuidます。新しいファイルは常に作成者が所有します。
ポール

わからない これは、唯一のユーザーがであるため、より多くの開発者がWebサイトで同時に作業する状況を取り入れていないようですbob。どのように対処しますか?例えば。sshを介して、両方のユーザーがbobとしてログインします。bob(1)は、パスワードを思い出せないと感じ、別のパスワードに変更しますが、まだ安全です。bob(2)は次回ログインを試みますが、できません。
n611x007

2
@naxaわずかに優れたシステムでは、開発者がWebサイトを直接変更することはありません。理想的には、ユーザーアカウント「bob」が各(安定した)リリースを自動的にプルおよびデプロイするように、Webサイトがバージョン管理されています。そのため、開発者はオフサイトで開発を行い、変更が展開サーバーにプッシュされると変更が展開されます。「bob」は、リモートアクセスを含まない、非常に限られたネットワーク権限を持つシステムユーザーです。iptablesでは、実際にこのようなものをUIDでフィルタリングできます。
パルティアショット14

「なぜ多くの人が「他の」(o)の部分を使用する(または推奨する)のか疑問に思っています-答えではなく質問としてこれを投稿した方がいいかもしれません。サポート、開発には、管理者アカウントは、異なるアクセス必要がある一方、それは意図的特権の最低レベルで(システムの最も露出した部分のような)Webサーバを実行することも珍しくありません
symcbean

@ParthianShotでは、それを第三者に強制することはできません(サイトが管理されていないが、サーバーにフォルダーが存在する場合)。時々、彼らが何をすべきかを知っているのは、ftpを使用することだけです。
Peregring-lk

9

上記の優れた回答のGoogleランクを考えると、注意すべきことが1つあると思います。回答の後にメモを残すことはできません。

例を続けると、www-dataを所有者として使用し、dev-fabrikamをグループ(ディレクトリ(またはファイル)に対する570のアクセス許可を持つグループ)として使用する場合、Linuxはを無視する setuidため、すべての新しいファイルはそれらを作成したユーザー。これは、新しいディレクトリとファイルを作成した後、次のようなものを使用する必要があることを意味します。

chown -R www-data /newdirectory/
chmod -R 570 /newdirectory/

Rackspace OpenStack用のUbuntu 12.04では、サーバーを再起動するまで570の権限を取得できないという奇妙な問題が発生し、魔法のように問題が修正されました。その一見単純な問題で髪の毛が増えていました。


これをグーグル化してください:Raspbian(別名raspberry pi、lighttpd(または別のWebブラウザー)で/ var / wwwの所有権を変更する場合は、再起動する必要があります。)
gbronner

@gbronnerそれが解決策を見つけるのが難しい問題である場合、質問としてそれを投稿し、質問への回答を提供することを検討するかもしれません。ただし、別のSE Q&Aサイトではおそらくより適切です。私の推測では、UnixとLinuxはそれを行うのに適した場所かもしれません。
ポール

1
raspberrypi.stackexchange.comもあります。SEサイトは知識を少し断片化しているようです。
-gbronner

@gbronner笑 私はそれについて知りませんでした!U&LのRaspbianタグには、120の質問があります。
ポール

3

私はこの構成で行きます:

  1. 以外のすべてのディレクトリは、所有者rootとグループに1セットをアップロードroot0755ます。
  2. すべてのファイルは所有者rootとグループに設定されroot、アクセス許可は0644
  3. 所有者root、グループwww-data、アクセス許可に設定されたディレクトリをアップロードし1770ます。スティッキービットは、グループ所有者が内部のディレクトリとファイルを削除または名前変更することを許可しません。
  4. 内部には、www-data所有者のユーザーとグループ、およびファイルをアップロードする0700www-dataユーザーの権限を持つ新しいディレクトリがアップロードされます。
  5. Apacheの構成:

アップロードディレクトリで拒否AllowOverrideIndex、Apacheが.htaccessファイルを読み取らないようにし、Apacheユーザーがアップロードフォルダーのコンテンツにインデックスを付けられないようにします。

<Directory /siteDir>
   Options -Indexes
</Directory>

<Directory /siteDir/uploadDir>
   AllowOverride none
</Directory>

6. php.ini構成:

open_basedir = /siteDir:/tmp:/usr/share/phpmyadmin
post_max_size = 5M
file_uploads = On
upload_max_filesize = 3M
max_file_uploads = 20

この構成では、www-dataユーザーはsiteDir/ /tmpおよび以外のディレクトリ内にアクセスできません/usr/share/phpmyadmin。また、同じリクエストでアップロードする最大ファイルサイズ、最大投稿サイズ、および最大ファイルを制御できます。


3

「leo」というFTPユーザーがファイルをexample.com Webディレクトリにアップロードする必要があり、また「apache」ユーザーがキャッシュディレクトリにuploa-files / sessions / cacheファイルを作成できるようにする必要がある場合は、次のようにします。

このコマンドは、レオを所有者として、グループをapacheとしてexample.comに割り当てます。apacheユーザーはグループapacheの一部であるため、apacheグループの権限を継承します。

chown -R leo:apache example.com

正しい許可を保証し、セキュリティ上の懸念も満たす別のコマンド。

chmod -R 2774 example.com

ここで、最初の番号2はディレクトリ用であり、作成された各新しいファイルが同じグループおよび所有者の許可のままであることを保証します。77は所有者およびグループ用で、完全なアクセス権があります。4は他の人がトラフしか読むことができないことを意味します。

以下は許可番号を理解するのに役立ちます

Number  Octal Permission Representation
0   No permission
1   Execute permission
2   Write permission
3   Execute and write permission: 1 (execute) + 2 (write) = 3
4   Read permission
5   Read and execute permission: 4 (read) + 1 (execute) = 5
6   Read and write permission: 4 (read) + 2 (write) = 6
7   All permissions: 4 (read) + 2 (write) + 1 (execute) = 7

1

IMOを考慮する必要があります:

  • ファイルを読み取るプロセスを信頼していますか?例えば。PHP?

ユーザーがさまざまなデータを「テスト」するサーバーがあるとします。

「テスト」ユーザーはそこにあります:

  • 彼のデータ $HOMEDIR
  • 彼のメール $MAIL
  • ウェブでの彼のデータ /var/www/test

次に考えてみましょう:

  • Webアプリはtestユーザー(PHP-FPM)の下で実行されます-彼のファイルを削除できます!
  • Webアプリはtestグループ(PHP-FPM)の下で実行されます-ディレクトリのグループが「w」であるファイルを削除し、グループの「r」が含まれるファイルを変更できます。そしてそれはまだそれらを読むことができます-あなたのsshキーなど!

PHPにバグがあると仮定してみましょう。PHPを信頼していopen_basedirますか?あなたはやるchrootPHPのプロセス?何をしませんか、すべてのファイルシステムをクロールしますか?

Webアプリのプロセス、たとえば PHP-FPMは、次のようにする必要があります。

  • 経由で特定のパスに制限される chroot
  • データ所有者のプライマリユーザーまたはプライマリグループの権限で実行しないでください

したがって、次のことができます。

  • テストユーザー: test:test
  • テストユーザーはセカンダリグループに属します。 test-www
  • Webアプリ(PHP-FPM)が実行されます test-www:test-www
  • Webアプリが自分のファイルを読み取れるようにしたい場合は、テストユーザーが実行します。 chmod u=rwX,g=rX,o= /var/www/test/public
  • Webアプリが自分のWebデータパスに書き込むことができるようにしたい場合は、テストユーザー:( chmod u=rwX,g=rwXs,o= /var/www/test/public/upload したがって、アプリは次のように新しいファイルを作成しますtest-www:test-www

したがって、Webアプリのプロセスが偽物である場合、グループが読み取る特定のファイルを読み取るuploadだけで、dirのみに書き込むことができます。オプションuploadnoexec,nodev,nosuid mount使用してファイルシステムにそのディレクトリを作成し、そのディレクトリ内の新しいbizzareファイルを常に監視し、さらにtest-wwwuidの下で新しいプロセスを監視することを強くお勧めします。

Linuxでは、ACLを使用してアクセス許可をより適切に調整できます。複数の人間がWebデータをアップロードする必要がある場合、Webデータファイルのアップロードに使用されたアカウントから人間のアカウントを分割することをお勧めします。新しいアカウントを作成するなど。test-upload、テストユーザーはsshキーを管理して、そこにssh / sftpできる人間を制限します。オプションをsshd_config知っているExposeAuthInfoため、データのアップロードに使用されたsshキーを記録するように構成できます。

ほとんどのウェブホスティングサービスが特権の分離を気にかけているのは本当に疑いがあります。


PHP-FPM許すchrootusergroupプールに設定します。しかし、私はphp_admin_value[open_basedir]オプションを信用しません。また、ユーザーごとに個別のPHP-FPMマスターを用意することをお勧めします。ma.ttias.be / a-better- way -to- run - php - fpmを参照してください。ほとんどのLinuxおよび* BSDディストリビューションでデーモンをインスタンス化するのは簡単です。
ジリB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.