Pour un référentiel git partagé servi sur SSH et HTTPS, comment contrôler l’accès pour les deux protocoles?

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

  •  07-07-2019
  •  | 
  •  

Question

J'utilise hooks / update pour contrôler qui peut mettre à jour des références particulières dans un référentiel partagé. Cela fonctionne très bien pour SSH, mais j'ai récemment découvert (avec git-1.6.4.2 au moins) que ce hook n'influençait pas les push de WebDAV, i.e. , tout utilisateur peut mettre à jour une branche.

Oui, je pourrais ajouter des directives Exiger un groupe ... comme dans 8 façons de partager votre référentiel git avec des fichiers de groupe distincts, mais j'aimerais éviter de devoir conserver des configurations d'autorisation parallèles !

Une autre alternative consiste à réécrire les hooks / update , mais cela semble être une perte, car cela fonctionne déjà pour SSH.

Était-ce utile?

La solution

Vous devez comprendre que pour Git (actuellement), HTTPS est un "dumb". protocole, c’est-à-dire que tout l’échange se passe sans la moindre implication de git sur le serveur, y compris l’exécution de hooks seul le serveur Web (avec WebDAV pour le push HTTPS) est impliqué.

Toutefois, vous devriez consulter les outils de gestion des accès aux référentiels, tels que Gitosis (en Python, avec setuptools) ou un nouveau Gitolite (en Perl, plus simple), ou repo à partir du projet Android de Google ou autre chose. Peut-être proposeraient-ils une gestion centralisée des accès.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top