2012-01-28 14 views
0

fastCGIを実行している場合、open_basedirを使用してサーバ上のあるドメインから別のドメインにファイルを移動する際に問題が発生しますか?FastCGIでPHP open_basedir

/var/www/vhosts/example-1.com/httpdocs/ 

:私からアップロードされたファイルを移動することになるでしょう

/var/www/vhosts/example-2.com/httpdocs/ 

は、FastCGIは、ユーザーが使用中のドメインに固有のものになりますことを考えると、これを許可しますか?たとえばexample-1.comの場合、ユーザーはexample-1になります。 open_basedirディレクティブを定義すると、このユーザーはexample-2ディレクトリにファイルを移動できますか?

+0

各ドメイン(example-1.com、example-2.comなど)は別のユーザーが所有していますが、suEXECのようなものを使用してfastcgiに所有者としてスクリプトを実行させていますか? – drew010

+0

私は帽子suExecが分からないことはわかりません。はい、私は各ドメインディレクトリごとに異なるユーザを持っています –

答えて

2

suEXECが使用中のように聞こえないので、FastCGIはWebサーバーが(Apache、nobody、daemon、lighttpdなど)として実行されている同じユーザーとして実行される可能性が非常に高いです。

この場合、FastCGIユーザーは、さまざまなユーザーディレクトリにファイルを作成および書き込む権限を持っていません。 vhostsの "uploads"フォルダにあるアクセス権を777に設定すると、そこにファイルを保存することができます。注意点は、Webサーバーユーザー(Apacheなど)がファイルを所有することになるため、vhostユーザーはこれらのファイルを所有しないため、これらのファイルを変更することはできません。これは、open_basedirに関係なく適用されます。これがあなたの専用サーバであり、すべての仮想ホストがあなたのものであれば、特定のファイル/フォルダのWebサーバの所有権に変更することができますが、suEXECを使用すると、FastCGIはvhostsユーザ所有者として。

ファイルを別の仮想ホストにコピーする権限は引き続き問題になりますが、別の仮想ホストに所有されているため、コピー先のユーザーに可能性のあるスクリプトを適用するか、すべてのユーザーをグループの読み取り/書き込みアクセス権を持つことができます。

suExecはより安全なオプションですが、正しく設定するには複雑な場合があります。 Apache、lighttpdなどを使用していますか?

+0

私はlighttpdではなくapacheを使用しています。各ドメインユーザーはそのドメインに固有です。これらのユーザーは各ドメインの仮想ホストユーザーと同じですか?私の記憶には彼らがいると思います。これは私の専用の仮想サーバーなので、必要に応じてアクセス権を変更できますが、アップロードディレクトリが変更される可能性があるため、これを続行する必要はありません。 –

関連する問題