Quiero convencer a mi jefe de que deberíamos usar git para el control de versiones. Él dice que absolutamente debe autenticar a los usuarios a través de nuestro servidor central LDAP.
Miré las diversas soluciones (gitweb, gitorious ...) y realmente no pude encontrar una respuesta definitiva sobre si admiten la autenticación LDAP.
La única solución en la que pude encontrar un poco de información fue una configuración de Apache + mod_ldap. Pero eso significaría que el usuario que se autentica en LDAP no sería necesariamente el mismo que el usuario git real, ¿verdad? (No es que este sea un gran problema, sino algo que me molestaría).
Entonces, ¿cuál es la mejor manera de autenticar a los usuarios de git a través de LDAP?
Respuestas:
Si bien las claves se utilizan para la mayoría de los servicios públicos de git, la autenticación real se realiza a través de ssh. SSH es más que capaz de autenticarse contra ldap. En lo que respecta a git, una vez que tenga acceso a los archivos, puede ir a la ciudad.
ACTUALIZAR
Git ahora admite (a partir de este año, ¿quién sabía?) Un mecanismo inteligente de empuje http. La forma antigua era usar un servidor webdav, pero tanto la búsqueda como la inserción eran muy lentas e ineficientes. Ahora puede obtener más o menos las mismas velocidades sobre http que ssh: // o git: //. Esto significa que puede usar apache o nginx y usar cualquier esquema de autenticación http que desee. (Ldap, base de datos, etc.)
Más información de pro git y github .
fuente
Puede buscar / desarrollar una autenticación de fondo de git utilizando scripts de ganchos de git previos a la recepción. No son necesariamente necesarios para ser un script de shell.
Por ejemplo, si nos fijamos en gancho de pre-recepción de gitorious , verá su manera de autenticar al tipo que está tratando de ingresar al repositorio remoto en esa situación utilizando un Script Ruby. Si lo desea y dedica un poco de su tiempo, puede hacer lo mismo con su idioma favorito y su biblioteca ldap :-)
fuente