在我的 gitolite.conf 我可以设置
repo COOL_REPOSITORY
RW+ = me
R = @all
这给了我写权限,所有其他注册用户都可以读我的存储库。现在我的问题是,我可以向所有人授予读取权限,而不仅仅是我通过将他们的 ssh 密钥存储在我的 keydir 中而注册的用户吗?
您可以从 http VirtualHost 配置中调用 gitolite,就像我在项目中所做的那样。
# GitHttp on @PORT_HTTP_HGIT@
Listen @PORT_HTTP_HGIT@
<VirtualHost @FQN@:@PORT_HTTP_HGIT@>
ServerName @FQN@
ServerAlias @HOSTNAME@
SetEnv GIT_PROJECT_ROOT @H@/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv GITOLITE_HTTP_HOME @H@
ScriptAlias /hgit/ @H@/sbin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<Location /hgit>
...
Gitolite 不需要用户注册 ssh 密钥:它只是一个授权层。
但仍然通过 http 调用 gitolite 确保您保持其他 Gitolite 功能处于活动状态,例如:
.gitolite/logs
:你仍然知道至少哪个 IP 地址克隆/拉/推你的仓库)@all
规则)直接使用 git-daemon 或直接 http 访问,根本不使用 Gitolite,将意味着放弃任何控制访问。
Gitolite 使用 ssh,我认为不应该使用 ssh 来授予未注册用户的访问权限。
Git 实现了 git-daemon 和 git-http-backend 以允许分别通过 git:// 或 http:// 协议进行匿名访问。