Para un repositorio git compartido servido sobre SSH y HTTPS, ¿cómo controlar el acceso para ambos protocolos?

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

  •  07-07-2019
  •  | 
  •  

Pregunta

Estoy usando hooks / update para controlar quién puede actualizar referencias particulares en un repositorio compartido. Esto funciona muy bien para SSH, pero recientemente descubrí (con git-1.6.4.2, al menos) este gancho no influye en los empujes de WebDAV, es decir, , cualquier usuario puede actualizar cualquier rama.

Sí, podría agregar directivas Requerir grupo ... como en 8 formas de compartir su repositorio git junto con archivos de grupo separados, pero me gustaría evitar tener que mantener configuraciones de autorización paralelas !

Otra alternativa es reescribir los ganchos / actualización , pero parece un desperdicio dado que ya está funcionando para SSH.

¿Fue útil?

Solución

Debe comprender que para Git (actualmente) HTTPS es un "tonto" protocolo, es decir, todo el intercambio se realiza sin involucrar a git en el servidor, incluidos los ganchos en ejecución; solo el servidor web (con WebDAV para HTTPS push) está involucrado.

Sin embargo, debería echar un vistazo a las herramientas de administración de acceso al repositorio, como Gitosis (en Python, usando setuptools) o la nueva Gitolite (en Perl, más simple), o la herramienta repo del proyecto Android de Google, o algo más. Quizás ofrecerían una gestión de acceso centralizada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top