0

fastCGI を実行している場合、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 ディレクトリに移動できますか?

4

1 に答える 1

2

suEXEC が使用されているようには聞こえないため、FastCGI はおそらく Web サーバーが実行されているのと同じユーザー (apache、nobody、daemon、lighttpd など) として実行されます。

その場合、FastCGI ユーザーには、さまざまなユーザー ディレクトリにファイルを作成および書き込む権限がありません。仮想ホストのいずれかの「アップロード」フォルダーでパーミッションを 777 に設定すると、そこにファイルを保存できます。注意点は、ファイルは webserver ユーザー (apache など) が所有し、vhost ユーザーはそれらのファイルを所有せず、変更できないことです。これは、open_basedir に関係なく当てはまります。これが専用サーバーであり、すべての仮想ホストがあなたのものである場合、特定のファイル/フォルダーの所有権を Web サーバーの所有権に変更できますが、その場合、FastCGI は vhosts ユーザーを使用してファイルを書き込むため、suEXEC を使用することをお勧めします。所有者として。

ファイルは別のユーザーによって所有されるため、ファイルを別の仮想ホストにコピーする権限の問題は引き続き発生しますが、可能性として、スクリプトでファイルを宛先ユーザーに chown するか、すべてのユーザーを共通グループに追加して、グループの読み取り/書き込み権限を持つことができます。

suExec はより安全なオプションですが、正しくセットアップするのが複雑になる可能性があります。Apache、lighttpd などを使用していますか?

于 2012-01-28T21:17:04.857 に答える