如何让每个人都可以“gitolite可写”?

如何让每个人都可以“gitolite可写”?

我希望客户能够锁定他们拥有写入控制权的任何分支(或至少存储库)。gitolite writable off似乎就是这么做的。但我无法掌握权限。

$ ssh [email protected] writable testing off
FATAL: you are not authorized

普通用户如何获得授权来执行此操作?客户端已经拥有其公钥gitolite-admin/keydir并且具有 RW+ 权限testing

答案1

因此,正如一位同事常说的那样,源代码是最好的文档。

gitolite/src/commands/writable:
_die "you are not authorized" if $ENV{GL_USER} and not( owns($repo) or is_admin() or ( can_write($repo) and $op eq 'status' ) );

因此,为了锁定对存储库的写入,需要成为管理员或拥有该存储库。拥有回购意味着什么?

src/lib/Gitolite/Easy.pm:
return ( creator($r) eq $user or $rc{OWNER_ROLENAME} and in_role( $rc{OWNER_ROLENAME}, $r ) );

因此,我们必须要么创建了存储库(不可行),要么被列为gitolite-admin/conf/gitolite.conf所有者。

  • 我们如何注册全部用户作为所有者?
  • 这会造成一些安全漏洞吗?

这就是我现在的情况。$ find gitolite | xargs grep OWNER_ROLENAME返回该字符串从未在另一个文件中提及,而且我不会说珍珠:(

此外,/home/git/.gitolite.rc仅列出了两个角色READERSWRITERS

相关内容