5

リモートvpsでgit-http-backendを機能させようとしていますが、うまくいきません。この質問のように httpd.conf を調整しましたが、ScriptAlias ディレクティブを追加するとすぐにエラーが発生します。

Apache エラー ログ:

 suexec policy violation: see suexec log for more details
 Premature end of script headers: git-http-backend

Suexec ログ

 error: target uid/gid (503/500) mismatch with directory (0/0) or program (0/0) or trusted user (0/10)

suexecの問題を通常どのように解決するかについて、誰かコメントできますか?

編集

主な問題は、Web サーバーが CGI スクリプトの実行を許可されていないことにあるようです。

suexec の設定に関するドキュメントは、現時点では私を超えています。今のところ無効にすることにしました。これにより、Web サーバーがこれらのスクリプトを実行できるようになります。リポジトリに正常にプッシュできるようになりました。この記事は役に立ちました。

4

3 に答える 3

5

moinmoin のセットアップ中にこのエラーが発生しました。注意を払う必要があるのは両方の行だと思います(私の場合はそうでした):

[2014-09-18 17:17:18]: uid: (1009/testsite) gid: (1006/testsite) cmd: moin.cgi
[2014-09-18 17:17:18]: target uid/gid (1009/1006) mismatch with directory (0/0) or program (0/0)

最初の行は、プロセス (この場合は testsite:testsite が所有) がコマンド (moin.cgi) を実行しようとしていることを示しています。

次に、呼び出しプロセスのユーザー ID/グループ ID をチェックして、実行するコマンドと一致するかどうかを確認します。これにより、失敗したときに 2 番目の出力がトリガーされます (0/0 はルート/ルートを示します)。

chown を呼び出すだけで修正できます。

chown -R testsite:testsite </path/to/directory-or-binary>
于 2014-09-18T16:26:12.370 に答える
-1

suexec ディレクティブで /var/www/ ディレクトリをユーザーに chown すると、動作します..!

于 2016-11-14T19:43:50.677 に答える