2

git push --receive-packgit-receive-packオプションを使用すると、 で実行しないという柔軟性が得られ$PATHます。

ただし、他のコマンドも実行できるため、セキュリティ上の脆弱性もあります。

を指定して、ユーザーがサーバーをハッキングするのを防ぐにはどうすればよい--receive-packですか?

同様に、脆弱性を回避するにはどうすればよいgit pull --upload-packですか?

4

1 に答える 1

3

https または ssh を介して、git リクエスト (プッシュ/プル) と git 自体の間にgitoliteのような認証レイヤーを追加できます。
ssh の場合、ssh の強制コマンド メカニズムを使用してすべてのコマンドをインターセプトし、git 以外のコマンドを拒否します。

コマンドgitolite-shellを解析し、リポジトリ名を抽出git-upload-pack|git-receive-packし、git-receive-pack プログラムへのパスを考慮せずに呼び出します。

于 2012-08-28T05:54:08.200 に答える