GNU/Linux >> Linux の 問題 >  >> Linux

Apache と PHP はどのユーザーとして実行する必要がありますか? /var/www ファイルにはどのような権限が必要ですか?

<オール>
  • root ではない
  • root ではない
  • SuEXEC
  • 場合による。ファイルの場合は 644、フォルダの場合は 755 が安全なデフォルトです。
  • PHP でそのファイル/フォルダーの内容を編集できるようにする場合を除き、所有権を www-data に変更しないでください

    他に何をしても、ユーザーがファイルを見つけるには、フォルダーの読み取りと実行のアクセス許可が必要です。ユーザーがファイルを読み取るには、ファイルの読み取り権限が必要です。変更時にパーミッション エラーが発生した場合は、これらの基本的に必要なパーミッションを削除できたことになります。

    php アプリケーションを介してファイルを書き込んでいない場合は、所有しているファイルをそのままにしておくことができます。この状況では、世界の許可 (xx4/5) が適用されます。

    ファイルの所有者をあなたのままにしておくと、ファイル権限が 644 (ファイル) のあなたは、のみ ということになります。 あなたはウェブサイトのファイルを編集できます - www-data はあなたではありません - したがって、ファイルを編集することはできません.

    apache + you へのアクセスを制限し、他のすべてのアクセスをブロックしたい場合 chown -R you:www-data * . 640 のファイル アクセス許可と 750 のフォルダー アクセス許可を使用すると、編集でき、www-data を読み取ることができます。これは、apache がグループ アクセス許可 (x4/5x) を読み取るためです。

    apache/php に書き込みを許可するパスを最小限に制限します。アプリケーションが書き込みを行う必要がある tmp ディレクトリがある場合は、そのフォルダーのみに書き込みを許可します。 - また、書き込み可能な場所については、可能な限り 外側 であることを確認してください ドキュメント ルートを削除するか、この書き込み可能なパスが Web アクセスできないようにするための措置を講じてください。

    「あなた」はしてはいけないことに注意してください ルートになります。 root としての直接 ssh アクセスを許可することは、他のセキュリティ失効の指標です (not パスワード ログインを禁止するなど) が、それ自体に多くの疑問があります。


    <ブロック引用>

    したがって、私が物事を正しく理解している場合、Apache が www-data として実行されていて、Apache がディレクトリを読み取れるようにする場合、x ビットをワールド (その他) グループ (o+x) に設定する必要があり、それも必要です。チェーン (www、var) までのすべての親ディレクトリに設定されます。また、apache がファイルから読み取れるようにするには、o+r ビットを設定する必要があります。

    rwx を設定する必要はありません。 他のために'。保護しようとしている特定のフォルダー/ファイルの所有者やグループを変更する必要があります。例:

    chown -R cwd:www-data /var/www/cwd.com
    chmod 750 /var/www/cwd.com
    

    現在、グループ www-data のメンバーのみ /var/www/cwd.com を読めます .そして、あなた (cwd) だけがそれに書き込むことができます。アプリケーションが (Apache を介して) そのディレクトリ内のファイルを書き込み/変更できるようにする場合は、770 に chmod します。

    これですべての問題がカバーされると思います。Apache を実行しているユーザーを変更する理由はありません。


    Linux
    1. 各 apache ユーザーを区別して権限を付与する

    2. /、/boot、/home、swap に割り当てるサイズ

    3. /var/www で Apache 2 のユーザー www-data のアクセス許可を処理する最良の方法は何ですか?

    1. MySQL、PHP、Apacheの設定ファイルを見つける方法

    2. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?

    3. Linux Web サーバー上で、Web サイトのファイル/フォルダーにどのようなアクセス許可を設定する必要がありますか?

    1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

    2. グループにユーザーを追加しましたが、ファイルに対するグループのアクセス許可はまだ効果がありませんか?

    3. /var/log/messages、/var/log/syslog、および/var/log/kern.logの違いは?