Para um repositório git compartilhada servido sobre SSH e HTTPS, como controle de acesso para ambos os protocolos?

StackOverflow https://stackoverflow.com/questions/1435687

  •  07-07-2019
  •  | 
  •  

Pergunta

Eu estou usando hooks/update para controlar quem pode atualizar refs particulares em um repositório compartilhado. Isso funciona muito bem para SSH, mas eu descobri recentemente (com git-1.6.4.2, pelo menos) este gancho não influencia WebDAV empurrões, i. , qualquer usuário pode atualizar qualquer ramo.

Sim, eu poderia acrescentar directivas Require group ... como em noreferrer 8 maneiras de compartilhar sua git repositório junto com os arquivos grupo separado, mas eu gostaria de evitar ter que manter configurações de autorização paralelas!

Outra alternativa é reescrever o hooks/update, mas que parece um desperdício, uma vez que ele já está trabalhando para SSH.

Foi útil?

Solução

Você deve compreender que para Git (atualmente) HTTPS é um protocolo de "burro", ou seja, troca de toda vai sem envolver git no servidor em tudo, incluindo ganchos em execução; só é servidor web (com WebDAV para HTTPS push) que está envolvido.

Você deve, contudo, dar uma olhada em ferramentas de gerenciamento de acesso ao repositório, como Gitosis (em Python, usando setuptools), ou nova Gitolite (em Perl, mais simples), ou repo ferramenta de projeto Android do Google, ou qualquer outra coisa. Talvez eles oferecem gerenciamento de acesso centralizado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top