有没有办法保护自己免受Mercurial身份盗窃?
案例是如果有人故意使用其他开发人员的名称将错误提交到代码中,目的是让该人被解雇或记入错误信用。
有没有办法阻止这种情况发生,还是没有问题?
答案 0 :(得分:7)
我不知道实际限制提交的方法不是包含“被盗”身份,但如果您有一个集中存储库,您应该能够安全地审核谁将哪些更改推送到服务器,从而跟踪身份盗贼。
修改:似乎支持使用两个扩展程序签署提交,CommitsigsExtension以及GpgExtension实施的看似不太安全的方法。
有效地签署变更集可防止身份被盗,因为小偷没有他想窃取的身份的私钥,因此他无法签署提交。
答案 1 :(得分:2)
Mozilla项目以pushlog的形式执行此操作。他们对Web模板进行了一些微不足道的更改,以显示pushlog的输出,这可以使用changeset
挂钩在推送时轻松创建。这是他们的日志的样子:
http://hg.mozilla.org/mozilla-central/pushloghtml
创建此类日志的钩子可以像以下一样简单:
[hooks]
changeset = echo $REMOTE_USER pushed HG_NODE >> /path/to/my/pushlog
在实践中,当他们第一次听到“用户”字段完全可以证伪时,一切都认为会出现问题,但在实践中实际上从来就不是问题。
答案 2 :(得分:0)
对“主”仓库和日志请求使用访问控制。如果您记录经过身份验证的人以推送每个提交,您可以告诉谁真正推送了特定提交,无论存储库中的信息是什么。