Mi empresa tiene un montón de repositorios git en una carpeta que tiene control de acceso a través de nuestro dominio de directorio activo. Hasta ahora, se ha accedido a la carpeta a través de smb usando la autenticación kerberos y todos nuestros clientes están configurados con file:// urls.
Esto obviamente es muy malo. Estoy tratando de configurarnos con un servidor git adecuado, ya sea en http o en ssh, pero nuestro administrador de red tiene muy claro que cualquier solución que busquemos tiene que mantener los permisos basados en el grupo del directorio activo (con preferencia a mantener los permisos de nivel de archivo) , y que la empresa no está dispuesta a pagar por una solución. Desafortunadamente, estos requisitos me atan un poco las manos y me impiden usar mi paquete nginx git probado previamente y verdadero.
He investigado un poco, pero me está costando mucho juntar las piezas. ¿Alguien sabe (o me puede señalar en la dirección correcta de) una solución que logre:
[Editar: requisito olvidado agregado con respecto al sistema operativo]
[Editar más de un año después]
Dejo esta pregunta aquí porque obtuvo algunos votos a favor, por lo que aparentemente hay otras personas que han tenido necesidades similares. Todas y cada una de las respuestas que cumplen parcialmente con esta lista pueden ser útiles para futuros lectores. Mis propios problemas han sido resueltos al obtener un nuevo administrador del sistema que no tiene miedo de que Linux me libere para aprovechar muchas más opciones.
[/Editar]
Recomiendo RhodeCode Enterprise ( https://rhodecode.com ) que cumple con todos los requisitos de permisos de carpetas, pero no con ellos. RhodeCode Enterprise 3 es gratuito para hasta 10 usuarios y EDU y, además, es compatible con Mercurial y SVN.
Descargo de responsabilidad: soy cofundador de RhodeCode.
Primero, su SA debe comprender que el repositorio central es como una base de datos, por lo que la propiedad de los archivos es y debe ser irrelevante. El AD solo debe usarse para la autenticación para acceder a los datos; de hecho, es mejor que los datos sean administrados por un daemon que tenga acceso exclusivo al repositorio sin cabeza en esa ubicación central. Así es como lo hacen todos los sistemas, como gitlab, github, stash, etc. De hecho, puede instalar stash o gitlab (que tiene una larga lista de beneficios además de la seguridad) y permitir que los usuarios sean autenticados por AD, ya sea a través de un LDAP puerta de enlace o directamente. Atlassian Stash y Gitlab son opciones freemium (creo), también hay GitHub Enterprise y otras, además de algunas opciones de FOSS (aunque no conozco sus opciones de integración con AD)
Alejandro
jpmc26
ivanivan