我已经在我们的生产和登台服务器上设置了Git并且它运行良好,但是在登台服务器上执行if (drive==null || drive.Count == 0))
{
MessageBox.Show("Failed to read data.");
Application.Exit();
}
时,似乎将组所有者名称设置为我在下登录的用户SSH ,它是 root 。
无论如何都要让它将组名设置为另一个名称,而不必以该特定用户身份登录?
答案 0 :(得分:1)
您可以在所需用户的根密钥下添加。
由于身份验证是通过ssh完成的,因此您不能将其“伪造”为不同的用户。 (假设你没有试图破解系统)。
这是使用SSH的重点 - 验证发起操作的人。
EOF
:如果您要进行chmod,如果您设置了模式标志,则可以将其作为更改进行跟踪。
chmod
<强>
git config core.fileMode false
强>
如果core.fileMode
,则索引与之间的可执行位差异 工作副本被忽略;对像FAT这样的破碎文件系统很有用 默认为True 。
false
强> 详细了解其工作原理here
答案 1 :(得分:0)
我看到两个解决方案:
su theprocessuser -s /bin/bash -c 'cd /some/dir && git pull
chown
并将所有内容嵌入到部署脚本中以更一般的方式,您应该看看Ansible,Fabric或类似的有用工具。在更一般的方式中,您绝对不应该将root用户用于操作任务。