Per un repository git condiviso servito su SSH e HTTPS, come controllare l'accesso per entrambi i protocolli?

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

  •  07-07-2019
  •  | 
  •  

Domanda

Sto usando hook / update per controllare chi può aggiornare specifici ref in un repository condiviso. Funziona benissimo per SSH, ma recentemente ho scoperto (con almeno git-1.6.4.2) questo hook non influenza i push di WebDAV, cioè , qualsiasi utente può aggiornare qualsiasi ramo.

Sì, potrei aggiungere le direttive Richiedi gruppo ... come in 8 modi per condividere il tuo repository git insieme a file di gruppo separati, ma vorrei evitare di mantenere configurazioni di autorizzazione parallele !

Un'altra alternativa è riscrivere il hook / update , ma sembra uno spreco dato che sta già funzionando per SSH.

È stato utile?

Soluzione

Dovresti capire che per Git (attualmente) HTTPS è un "stupido" protocollo, ovvero l'intero scambio va senza coinvolgere affatto git sul server, inclusi gli hook in esecuzione; è coinvolto solo il server Web (con WebDAV per HTTPS push).

Dovresti comunque dare un'occhiata agli strumenti di gestione degli accessi al repository, come Gitosis (in Python, usando setuptools) o nuovo Gitolite (in Perl, più semplice), o repo dal progetto Android di Google o qualcos'altro. Forse offrirebbero una gestione centralizzata degli accessi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top