Apache権限Linux

Apache権限Linux
  • apacheWordPressはユーザーとして実行されます。
  • apachedevelopersグループから
  • すべてのフォルダは775
  • すべてのファイルは664
  • すべてのフォルダとファイルがdevelopersグループにあります。

apacheWordPressでプラグインをインストール/更新するには、なぜこれらのファイルが必要なのですか?

答え1

まず、rootApacheサーバーを起動します。 Apacheはroot起動時に権限を放棄し、制限されたユーザー権限を持ちますapache

したがって、ファイルをアップロードすると、ApacheはWordPressプラグインフォルダに書き込むことができず、プラグインのインストールが失敗します。この問題は2つの方法で解決できます。

  1. プラグインフォルダへのグループ書き込み権限を付与し、apache ユーザーをグループのメンバーにします。
  2. または、apacheユーザーがフォルダを所有するようにします。

umask設定に注意してください。 Apache環境変数を設定する場所でこれを設定する必要があります。

"umask 002"

これはumask、プラグインのインストール時に作成された新しいファイルとディレクトリに対する権限に影響します。

答え2

WordPressでプラグインをインストール/更新するには、Apacheにこれらのファイルが必要なのはなぜですか?

権限モデルが不都合なためです。

どのファイルにどの権限を設定するかを決定することは、コード作成とWebサーバー構成と同じくらいWebサイトの展開の重要な部分です。明らかに、ここのインストールは、コード更新がネットワーク経由で適用されるように慎重に設計されています。この問題には2つの一般的な解決策があります。誰もが書くことができるファイルとディレクトリを作成し、WebサーバーUIDが所有するファイル/ディレクトリを作成します。どちらもセキュリティに非常に有害です。

多数のアプリケーションで作業しているときにWebサーバーUIDが書き込むことができる指定された領域があることは避けられません。これらの領域はドキュメントルートの外側にある必要があり、これらのディレクトリ内のすべてのコードの実行は禁止されている必要があります。

あなたが持っている権限で、Apacheはすべてのユーザー/グループ/その他のすべてのファイル/ディレクトリを読み取り、ユーザーまたはグループとして書き込むことができます。したがって、ここにはいくつかの冗長性があるため、Apacheはファイルをここに書き込む必要はありません。しかし、これは問題ではありません。 Apacheがどのコード(または設定)ファイルにも書き込むことができることが問題です。

正しい問題に対する正しい解決策には少しの努力が必要です。

答え3

ファイルをアップロードして更新すると、Apacheは「apache」ユーザーとして実行され、ファイルを変更する権限が必要なためです。

おそらく、セキュリティ上の理由から、ApacheをすべてのWebルートの所有者ではなくプラグインディレクトリの所有者にする方が簡単です。

あなたは見ることができますここファイル権限に関する追加のアドバイス。

関連情報