Como permitir que 'gitolite gravável' seja usado por todos?

1

Eu quero que os clientes consigam bloquear qualquer ramificação (ou pelo repositório do leas) para o qual tenham controle de gravação. gitolite writable off parece fazer exatamente isso. Mas não consigo entender as permissões.

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

Como os usuários comuns podem ser autorizados a fazer isso? O cliente já tem sua chave pública em gitolite-admin/keydir e tem permissões de RW + em testing .

    
por Vorac 10.03.2016 / 15:02

1 resposta

1

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 .

    
por 10.03.2016 / 17:00

Tags