web-dev-qa-db-ja.com

suexecとdocrootの問題

Apache2でFastCgiServerを実行する際に問題が発生しました。静的fcgiサーバーが構成された仮想ホストを定義すると、suexecからエラーが発生します。

command not in docroot (/var/www-blah/dispatcher.fcgi)

Docrootは/var/wwwなので、これは正しいです。しかし、AddHandler magicによって生成された動的fastcgiを使用する場合、suexecも使用しており、スクリプトが/home/.../public_html/dispatcher.fcgiにある場合でも、同じ問題は発生しません。

そこでsuexecが正しく実行される原因は何ですか?そして、どうすれば仮想ホストでその動作を複製できますか?

更新:実際、私は自分のものを/var/www-blahから/var/www/blahに移動したので、docrootの下にあり、機能します。 suexecにはpublic_html検出機能があると思います。

それでも機能しないのは、/var/www/...の下にsuexecを使用した動的fastcgiです。スクリプトが正しいユーザーによって所有されている場合でも、suexecはエラーを表示せず、実行されていないようです(スクリプトはwww-dataとして機能します)

2
viraptor

suexecは、Apacheドキュメントルート内のプログラムのみを実行します。 suexecセキュリティモデル 、特にポイント13を参照してください。

3
Fahad Sadah