git push --receive-pack
选项提供了运行git-receive-pack
not in的灵活性$PATH
。
但它也是一个安全漏洞,因为它也可以运行任何其他命令。
如何通过指定来防止用户入侵服务器--receive-pack
?
同样,我怎样才能避免漏洞git pull --upload-pack
?
git push --receive-pack
选项提供了运行git-receive-pack
not in的灵活性$PATH
。
但它也是一个安全漏洞,因为它也可以运行任何其他命令。
如何通过指定来防止用户入侵服务器--receive-pack
?
同样,我怎样才能避免漏洞git pull --upload-pack
?
通过 https 或 ssh,您可以在您的 git 请求(推/拉)和 git 本身之间添加一个授权层,如gitolite 。
对于 ssh,它将使用ssh 强制命令机制来拦截所有命令,拒绝非 git 的命令。
gitolite-shell
它将解析命令,并提取 repo 名称,调用git-upload-pack|git-receive-pack
时不考虑 git-receive-pack 程序的路径。