git push --receive-pack
git-receive-pack
オプションを使用すると、 で実行しないという柔軟性が得られ$PATH
ます。
ただし、他のコマンドも実行できるため、セキュリティ上の脆弱性もあります。
を指定して、ユーザーがサーバーをハッキングするのを防ぐにはどうすればよい--receive-pack
ですか?
同様に、脆弱性を回避するにはどうすればよいgit pull --upload-pack
ですか?
git push --receive-pack
git-receive-pack
オプションを使用すると、 で実行しないという柔軟性が得られ$PATH
ます。
ただし、他のコマンドも実行できるため、セキュリティ上の脆弱性もあります。
を指定して、ユーザーがサーバーをハッキングするのを防ぐにはどうすればよい--receive-pack
ですか?
同様に、脆弱性を回避するにはどうすればよいgit pull --upload-pack
ですか?
https または ssh を介して、git リクエスト (プッシュ/プル) と git 自体の間にgitoliteのような認証レイヤーを追加できます。
ssh の場合、ssh の強制コマンド メカニズムを使用してすべてのコマンドをインターセプトし、git 以外のコマンドを拒否します。
コマンドgitolite-shell
を解析し、リポジトリ名を抽出git-upload-pack|git-receive-pack
し、git-receive-pack プログラムへのパスを考慮せずに呼び出します。