如何防止root运行git pull?

Joh*_*ahh 10 git permissions ownership git-pull githooks

需要阻止root更新git(工作)目录.推理包括但不限于:防止不合适的文件系统所有权更改.

没有任何git钩子在它发生之前似乎阻止了一个fetch/merge/pull,类似于pre-commit hook.或者至少,我在这里(或在手册页中)看不到任何内容:http: //www.analysisandsolutions.com/code/git-hooks-summary-cheat-sheet.htm

思考?

r3m*_*m0t 11

更改/root/.bashrc以将新目录添加到开头PATH.在那里添加一个shell脚本,调用git$1是一些只读命令(show/status/log/rev-list等)之一,/usr/bin/git "$@"如果命令可以接受则调用.这样可以防止团队中的任何人意外地git pull以root用户身份运行.如果你担心他们故意这样做,你会遇到更大的问题......

  • 更好的是,让命令只打印一个错误消息,如"请不要以root身份运行git". (6认同)
  • 在我的情况下,我部门的经理在他无权做某事的时候一直在做'sudo su'.然后他做了一个git pull并搞砸了我的文件.我只想要一个任何git命令的错误消息,其中写着"永远不要以root身份运行git命令!停止弄乱我的文件权限!" (3认同)

Von*_*onC 5

我看到这个问题没有解决,但至少“缓解”的唯一方法是通过git命令包装器

所有的git命令都会通过这个包装器,如果用户ID不是root的话,包装器将继续执行。