在执行拉取时使Git使用正确的所有者组名称

时间:2016-03-15 15:49:41

标签: linux git chown file-ownership

我已经在我们的生产和登台服务器上设置了Git并且它运行良好,但是在登台服务器上执行if (drive==null || drive.Count == 0)) { MessageBox.Show("Failed to read data."); Application.Exit(); } 时,似乎将组所有者名称设置为我在下登录的用户SSH ,它是 root

无论如何都要让它将组名设置为另一个名称,而不必以该特定用户身份登录?

2 个答案:

答案 0 :(得分:1)

您可以在所需用户的根密钥下添加。

由于身份验证是通过ssh完成的,因此您不能将其“伪造”为不同的用户。 (假设你没有试图破解系统)。

这是使用SSH的重点 - 验证发起操作的人。

参考上述答案,建议执行EOF

如果您要进行chmod,如果您设置了模式标志,则可以将其作为更改进行跟踪。

chmod
  

<强> git config core.fileMode false
    如果core.fileMode,则索引与之间的可执行位差异       工作副本被忽略;对像FAT这样的破碎文件系统很有用       默认为True

<强> false

详细了解其工作原理here

答案 1 :(得分:0)

我看到两个解决方案:

  1. 以进程用户身份执行命令(这是最合理的更改)。就像是 su theprocessuser -s /bin/bash -c 'cd /some/dir && git pull
  2. 在你的&#34; git pull&#34;之后执行chown并将所有内容嵌入到部署脚本中
  3. 以更一般的方式,您应该看看Ansible,Fabric或类似的有用工具。在更一般的方式中,您绝对不应该将root用户用于操作任务。