gpt4 book ai didi

gitolite 和文件权限

转载 作者:太空狗 更新时间:2023-10-29 14:40:10 25 4
gpt4 key购买 nike

我已经在 ubuntu 服务器上设置了一个 gitolite 存储库,目的是让开发人员克隆/推送我们将要处理的项目。我在 repo 中的接收后 Hook 有问题。我在一个特定的 repo 中有一个接收后 Hook ,用于检查服务器上的特定目录,在我的例子中是/home/user/www/projects/。问题是当管理员推送 repo (git push origin) 时,钩子(Hook)成功地将项目 checkout 到指定目录并更改正在 checkout 的目录(项目)的权限。但是,如果普通用户推送到存储库,则 Hook 会在不更改权限的情况下完好无损地 check out 项目。我已经检查了服务器上的 umask,它是 0002,这不应该是这里的问题。我已卸载并重新安装 gitolite,但仍然遇到同样的问题。

最佳答案

如“Git CHMOD post-receive hook”中所述,与 Git 存储库本身相关的权限在这里可能很重要。

在 Gitolite 中,该权限在 .gitolite.rc as $REPO_UMASK $UMASK 中配置(现在是“$UMASK”,GitoliteV3 or'g3')。
检查这是否会影响您的 checkout 问题:

The default UMASK that gitolite uses makes all the repos and their contents have rwx------ permissions. People who want to run gitweb realise that this will not do.

The correct way to deal with this is to give this variable a value like 0027 (note the syntax: the leading 0 is required), and then make the user running the webserver (apache, www-data, whatever) a member of the 'git' group.

If you've already installed gitolite then existing files will have to be fixed up manually (for a umask or 0027, that would be chmod -R g+rX).
This is because umask only affects permissions on newly created files, not existing ones.

关于gitolite 和文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9915482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com