首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >git中的一些用户阻止其他用户使用SSH使用git向远程提交。

git中的一些用户阻止其他用户使用SSH使用git向远程提交。
EN

Stack Overflow用户
提问于 2020-01-30 09:10:52
回答 1查看 89关注 0票数 0

我们使用git进行源代码管理,并拥有一个SLES服务器,作为git存储库的远程设备。我们使用SSH访问git,使用的是真实用户名,而不是单个git用户选项,这将通过git用户的authorized_keys文件进行身份验证。

不久前,我发现了推到遥控器上的问题。一个用户能够推送,而另一个用户不能推送。所以我开始分析,为什么某些用户不能推送。我终于找到了根本原因:远程上的裸存储库总是有一个名为objects的目录,提交最终通过推送过程保存。该目录包含带有哈希值前两个字符的子目录。如果尚未创建目录,则在向远程推送时创建该目录。

关于它的神秘之处在于,我无法向自己解释:一些用户使用rwxrwsr-x权限创建这些目录,而其他用户则使用rwxr-swr-x创建它们。如您所见,设置了set-gid位,这是可以的。但是,我无法真正解释为什么有些用户创建具有组写入权限的目录,而其他用户则不这样做。

这里的缺陷是,如果用户A创建了一个没有组写权限的目录,用户B计算了一个哈希值,该哈希值以用户A已经创建的目录的两个字符开始,用户B不能将文件(提交)放在同一个目录中,这使得用户B无法推送到远程的用户B。

我已经注意到默认的umask设置,这些设置可能是不同的,但找不到不同的设置。我们的SLES服务器上的所有用户都有默认的掩码0022,这将导致用rw-r--r--创建文件,用rwxr-xr-x创建目录。这是第二个谜团:为什么一些用户使用rwxrwsr-x在git中创建目录(这对于git是正确的,并且是有意的),尽管使用umask 0022

有谁为我提供进一步故障排除的提示?我想要实现的是用户使用objects创建rwxrwsr-x子目录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-30 12:02:26

设置

代码语言:javascript
运行
复制
git config core.sharedRepository 0660

在服务器回购处。见医生们

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59982432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档