2

git push --receive-pack选项提供了运行git-receive-packnot in的灵活性$PATH

但它也是一个安全漏洞,因为它也可以运行任何其他命令。

如何通过指定来防止用户入侵服务器--receive-pack

同样,我怎样才能避免漏洞git pull --upload-pack

4

1 回答 1

3

通过 https 或 ssh,您可以在您的 git 请求(推/拉)和 git 本身之间添加一个授权层,如gitolite 。
对于 ssh,它将使用ssh 强制命令机制来拦截所有命令,拒绝非 git 的命令。

gitolite-shell它将解析命令,并提取 repo 名称,调用git-upload-pack|git-receive-pack时不考虑 git-receive-pack 程序的路径。

于 2012-08-28T05:54:08.200 回答