2009-02-10 662 views
9

Necesito una aplicación para poder buscar desde un repositorio de git pero no presionar, así que esa es la parte de solo lectura. Eso podría hacerse fácilmente con git daemon.¿Puedo ejecutar un servidor git protegido con contraseña y de solo lectura?

Además de eso, necesito acceso a dicho repositorio para que esté protegido con contraseña, incluso para leerlo. Por lo tanto, antes de que se realice una búsqueda, la aplicación deberá autenticarse.

¿Es factible? con git daemon? ¿algo más? http + auth tal vez?

+0

¿Qué quiere decir fetch but not pull? pull es solo un fetch + merge localmente. pull es una operación de solo lectura, a menos que me falta algo. –

+0

oops, significa empujar, no tirar. – kch

Respuesta

2

La manera más fácil es configurar la autenticación HTTP en la parte superior de gitweb. Ver there.

6

La autenticación HTTP no protegerá el paquete que se está transmitiendo a través del cable, por lo que si le preocupan las escuchas a escondidas, la autenticación HTTP no será suficiente. Además, git es mucho más eficiente usando el protocolo git que el protocolo HTTP. git-daemon, sin embargo, no hace autenticación para ti.

Probablemente la mejor solución es usar gitosis que le permitirá proteger el repositorio mediante ssh - autenticación criptográficamente fuerte y confidencialidad a través del cable - y controlar el acceso al repositorio también (p. Ej., Algunos usuarios han leído -write y algunos usuarios solo lectura). Esto utilizará el protocolo git eficiente sobre su conexión ssh.

Si está dispuesto a subcontratar esto, github es quizás el mejor enfoque. Tienen planes a diferentes precios para satisfacer muchas necesidades.

+0

Tengo una cuenta github gratuita que uso para mis proyectos abiertos. ¿Tienen elementos para tratar con autenticación/autorización más allá de ssh en las cuentas pagas? – kch

+0

Hm, en un examen más detallado parece que no admiten el acceso autentificado de solo lectura; su listado de plan está en http: // github.com/plans y puede contactar a [email protected] con preguntas. –

0

Puede buscar a través de SSH, que es a la vez canal autenticado y encriptado. No sé si gitosis lo ayudaría a administrar el acceso SSH en lugar de configurar cuentas de shell con git-shell como shell.

0

Para crear un repositorio autenticado de "solo lectura", proporcione acceso SSH al repositorio para todas las partes aplicables pero solo permita solicitudes de inserción (acceso de escritura) a un subconjunto de las partes utilizando un gancho de actualización como exampled here.

0

Use gitolite. Eso es lo mejor: fácil de configurar (si ya conoce la administración de claves SSH), complete el control del acceso de los usuarios y la seguridad del transporte (SSH).

0

me gusta tener una combinación de git + gitolite + gitweb

  • donde gitweb da una webfrontend muy ligero y rápido

  • y gitolite está haciendo todas las tareas de autorización , por lo que puede otorgar permisos para leer o escribir en un nivel de usuario (ssh) (incluso la configuración de gitolite se maneja como un repositorio simple de git , es decir, un los cambios de utorización/configuración son rastreables)

Cuestiones relacionadas