3

この問題は時々発生します。ホストから提供されたFTPアカウントを使用して、WordpressFTPで使用します。ただし、何らかの理由で、たとえばテーマを更新する場合、新しいテーマは、user / psaclnユーザー名/グループではなく、apache/apacheの下に作成されます。そのため、その時点では、psaclnグループに属しているため、これらのファイルを削除したり、何も実行したりすることはできません。

この問題を回避するためにこれが発生する理由について詳しく知りたいのですが、どんな提案でも大歓迎です!

前もって感謝します。

4

2 に答える 2

3

ワードペスの管理ページ(テーマなど)を介してファイルをアップロードすると、apacheユーザーとして実行されているhttpdプロセスが実際にシステム上にファイルを作成します。したがって、ファイルはapacheユーザーによって所有されます。これを回避するために、このオプションをお勧めします。

  1. 'wordpress'と呼ばれる新しいグループに自分自身とapacheを追加します
  2. WordPressのグループ所有権を新しいグループに変更するために使用します
  3. sgidパーミッションビットとグループ書き込みパーミッションをwordpressdocrootのすべてのディレクトリに設定します。

sgidビットを設定すると、ディレクトリに追加されたすべてのファイルが同じグループ所有者になります。

自分自身とapacheを同じグループに追加したと仮定して、WordPressグループのすべてのユーザーがファイルを書き込み可能に作成できるようにディレクトリを設定するLinuxコマンドを次に示します。

chown -R :wordpress /path/to/wordpress/docroot/ 
chmod  -R g+w /path/to/wordpress/docroot/
find  /path/to/wordpress/docroot/ -type d -print | while read i; do SAVEIFS=$IFS; IFS=$(echo -en "\n\b");chmod g+s $i; IFS=$SAVEIFS; done

必要となる可能性のある追加事項:

apacheが書き込みなしでグループ権限を持つファイルを作成している場合は、新しいファイルを作成するためにapacheユーザーのデフォルトのumaskを変更する必要がある場合があります。デフォルトでは、所有者とグループへの書き込みが許可されているはずですが、一部のアカウント(rootユーザーなど)では、デフォルトのumaskがグループ読み取り専用に設定されていることを知っています。

于 2013-02-15T18:49:52.527 に答える
0

これは、apacheのワーカーの子がapacheのユーザーIDで実行され、UNIXシステムの「共通ユーザー」が他のユーザーにファイルを所有させることができないためです。ルートアカウントのみが所有権を「譲渡」できます。

なんで?通常のユーザーがrootが所有するファイル、または別のユーザーが所有するファイルを作成するのは簡単です。特定のシステムがユーザークォータで実行されている場合、これにより、ユーザーはクォータを完全に覆すか、大量の巨大なファイルを「与えて」そのユーザーのクォータを超えて他のユーザーのアクセスを拒否することができます。

これらのファイルにアクセスする必要がある場合は、UNIXの所有権に関係なく、UNIXのアクセス許可の上/上に存在するPOSIXACLの使用を検討できます。

于 2013-02-15T18:43:51.443 に答える