git - 如何在 git 存储库上正确使用组文件权限?

标签 git unix permissions file-permissions

我们正在通过文件路径访问一个共享的 git 存储库,出于各种原因我现在将忽略它,它是使用 --shared=group 创建的。

我们有各种 unix 组,但都共享一个公共(public)组。如果我在 git 存储库上运行 chgrp -R,每个人都可以从中读取,但如果有人更频繁地写入它,那么就会创建不使用公共(public)组的新文件。

这个问题似乎是因为我们的主要组不是共享组,如果我们运行 newgrp 似乎一切正常。

虽然这种方法存在问题; newgrp 很慢,它会生成一个新的 shell,这让我觉得在 .bash_profile 中调用它是个坏主意,甚至没有考虑我们是否希望所有我们的新文件使用普通组。不过,在执行任何 git 工作之前依靠内存来运行它似乎也是一场灾难。

那么……有什么建议吗?

最佳答案

可以使用以下命令将尚未使用 --shared 创建的现有存储库变为共享:

# make the repository shared
git config core.sharedRepository group # or whatever other sharing option
# fix the setgid bit
find . -type d | xargs chmod g+s
# repair the permissions
chmod -R g+r *

关于git - 如何在 git 存储库上正确使用组文件权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4832346/

相关文章:

git - 在没有 SSH key 的情况下推送到 git 存储库?

git - 移动(或 "Undo")最后一个 git commit 到未暂存区域

使用 sed 和/或 grep 的正则表达式

linux - 应用程序状态脚本

unix - 检查/验证 OpenSSL 的解密密码

c# - 以编程方式将用户权限添加到 Sharepoint 中的列表

android - 更新android sdk权限错误

git - 在不 merge 的情况下将更改推送到分支?

PHP 框架和项目存储库

wordpress - 禁止您无权访问此服务器上的/wp-login.php