Assim, a fonte é a melhor documentação, como costumava dizer um colega.
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' ) );
Assim, para bloquear as gravações em um repositório, é necessário ser o administrador ou o próprio repositório. O que significa possuir o repo?
src/lib/Gitolite/Easy.pm:
return ( creator($r) eq $user or $rc{OWNER_ROLENAME} and in_role( $rc{OWNER_ROLENAME}, $r ) );
Portanto, devemos ter criado o repo (não viável) ou ser listados em gitolite-admin/conf/gitolite.conf
como proprietário.
- Como registramos todos usuários como proprietários?
- Isso cria alguma vulnerabilidade de segurança?
Aa e é o quão longe estou agora. $ find gitolite | xargs grep OWNER_ROLENAME
retorna que esta string nunca é mencionada em outro arquivo mais eu não falo pearl: (
Além disso, /home/git/.gitolite.rc
lista apenas duas funções READERS
e WRITERS
.