Gitosis Error: Recibiendo 'Leer Acceso denegado' en repositorio previamente accesible

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

  •  26-09-2019
  •  | 
  •  

Pregunta

Los jugadores

He estado usando Git y gitosis desde hace unos meses, y estoy realmente amante de ambos. Por desgracia, se han topado con problemas para acceder a uno de mis proyectos con gitosis.

La puesta a punto

He definido mis Git y Gitosis se instala en una cuenta de servidor alojado con Debian. También he creado cuatro equipos (dos de Ubuntu, dos ventanas) con claves RSA separados y con éxito cada puse arriba para acceder al gitosis instalar. Todo funcionó sin problemas durante algún tiempo. Recientemente, sin embargo, no he sido capaz de acceder a mi proyecto 'DesktopConfiguration' de ninguna manera (empujar, tirar, clon). Que había creado originalmente el proyecto DesktopConfiguration en una de mis máquinas Linux, lo empujó al servidor gitosis, y clonado en una de mis máquinas Windows. No he tenido problemas para acceder a ella hasta hace poco (las últimas dos semanas o así). Lo que sigue es mi archivo gitosis.conf y el mensaje de error que estoy recibiendo (los mensajes de error son los mismos si trato de empujar, tirar, o un clon usando mis cajas de Windows o Linux):

El gancho

gitosis.conf

[gitosis]  
loglevel = DEBUG  

[group gitosis-admin]  
writable = gitosis-admin  
members = windows-desktop linux-desktop linux-laptop work-laptop  

[group main-projects]  
writable = WallpaperChanger  
writable = RegexTester  
writable = MovieAggregator  
writable = FileRenamer  
writable = GlutenFreeShoppingAssistant  
writable = Libraries  
writable = DesktopConfiguration  
writable = RssFeedReader  
members = windows-desktop linux-desktop linux-laptop work-laptop  

Mensaje de error

C:\Documents and Settings\myname\Desktop\Desktop Config Test>git clone git@myserver:DesktopConfiguration.git  
Initialized empty Git repository in C:/Documents and Settings/myname/Desktop/Desktop Config Test/DesktopConfiguration/.git/  
DEBUG:gitosis.serve.main:Got command "git-upload-pack 'DesktopConfiguration.git'"  
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'writable' on 'DesktopConfiguration.git'...  
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'  
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'  
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'  
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'writeable' on 'DesktopConfiguration.git'...  
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'  
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'  
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'  
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'readonly' on 'DesktopConfiguration.git'...  
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'  
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'  
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'  
ERROR:gitosis.serve.main:Repository read access denied  
fatal: The remote end hung up unexpectedly  

El cuento

A partir de mi experiencia con gitosis y la mayoría de las preguntas-y-respuestas que he encontrado en línea, los mensajes de error se ven exactamente como los que recibieron al intentar empujar a gitosis sin haber añadido primero el proyecto a un grupo que su máquina que tiene acceso. Desafortunadamente, esto no parece ser cierto en mi caso. (A menos que me falta algo!)

El conductor

No estoy muy seguro de si esto proporcionaría algo más de información, pero aquí están los mensajes de depuración de mi post-actualización de gancho:

INFO:gitosis.run_hook:Running hook post-update  
DEBUG:gitosis.gitdaemon:Global default is 'deny'  
DEBUG:gitosis.gitdaemon:Walking '.', seeing ['RegexTester.git', 'gitosis-admin.git', 'Libraries.git', 'GlutenFreeShoppingAssistant.git', 'MovieAggregator.git', 'DesktopConfiguration.git', 'WallpaperChanger.git', 'RssFeedReader.git', 'FileRenamer.git']  
DEBUG:gitosis.gitdaemon:Deny 'RegexTester'  
DEBUG:gitosis.gitdaemon:Deny 'gitosis-admin'  
DEBUG:gitosis.gitdaemon:Deny 'Libraries'  
DEBUG:gitosis.gitdaemon:Deny 'GlutenFreeShoppingAssistant'  
DEBUG:gitosis.gitdaemon:Deny 'MovieAggregator'  
DEBUG:gitosis.gitdaemon:Deny 'DesktopConfiguration'  
DEBUG:gitosis.gitdaemon:Deny 'WallpaperChanger'  
DEBUG:gitosis.gitdaemon:Deny 'RssFeedReader'  
DEBUG:gitosis.gitdaemon:Deny 'FileRenamer'  
INFO:gitosis.run_hook:Done.  

El Shut Out

Todavía soy capaz de acceso (empujar, tirar, clon) todos los otros proyectos en el servidor (en ambos grupos Gitosis-admin y principales proyectos-) en todas mis máquinas. Estas son algunas de las cosas que he intentado hasta ahora:

  • He comprobado la ortografía de todas las carpetas, archivos y ajustes de configuración en múltiples ocasiones.
  • Me han quitado y añadido de nuevo el proyecto DesktopConfiguration del archivo gitosis.conf después de asegurarse de que el gancho posterior a la actualización tenía los permisos de ejecución adecuadas.
  • I añadió otro proyecto para gitosis después DesktopConfiguration, y funciona correctamente.
  • Me han quitado y añadido de nuevo mis referencias remotas al proyecto en Git en mis máquinas locales.
  • Me han quitado el proyecto DesktopConfiguration.git de mi carpeta de 'depósitos' en el servidor y el intento de empujar a ella de nuevo.
  • he incluso recreado todos mis claves RSA (aunque autenticación no parece tener nada que ver con los temas que estoy viendo).

Todos estos intentos han fracasado para permitir que tenga acceso el proyecto. Por lo que yo sé, nada ha cambiado en el servidor o mis máquinas de escritorio todo el tiempo que perdí el acceso a este proyecto.

El golpe

Doy la bienvenida a cualquier idea que pueda tener con los brazos abiertos!

¿Fue útil?

Solución

Para 'el acceso de lectura denegado' estaría comprobando que el usuario gitosis en el servidor todavía tenía pleno acceso a los repositorios. Usted dice que está seguro de que nada ha cambiado en el servidor, pero que ha descartado un montón de otras cosas fuera. No puede hacer daño a doble control.

Otros consejos

Parece signine tiene que corregir en la respuesta comentario. Estaba teniendo el mismo problema y (después de algún llanto y crujir de dientes) finalmente solucionó el problema mediante la colocación de todos los repositorios en a una sola línea "escribible".

Al inspeccionar la fuente, se ve que gitosis utiliza ConfigParser que requiere opciones aparecen en una línea o se puede romper la línea si se deja espacio al principio de la siguiente línea. Así:

writable = WallpaperChanger RegexTester MovieAggregator FileRenamer

o

writable = WallpaperChanger RegexTester
           MovieAggregator FileRenamer

Yo tenía un problema similar y el problema era bastante simple:

por error creado 2 archivos diferentes claves con la misma tecla público , el resultado es que el servidor me reconoce como este nuevo usuario (sin derecho a una cierta cesión temporal ) en lugar de mí mismo (con acceso de lectura / escritura a este repo).

Esto me tenía rascándome la cabeza, así que pensé que me gustaría compartir.

I han visto que el tener una línea como

writable =

puede romper el acceso a todos los repositorios. Esto sucedió porque nuestra gitosis.conf se genera automáticamente y se puso a la situación en la que un grupo no tenía repositorios.

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