Gitosis Fehler: Empfangen ‚Lesezugriff verweigert‘ auf zuvor zugänglich Repository

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

  •  26-09-2019
  •  | 
  •  

Frage

Die Spieler

Ich habe mit git und gitosis seit einigen Monaten und bin wirklich zu lieben beide. Leider habe ich in ein Problem laufen einem meiner Projekte mit gitosis erreichbar.

Das Set-Up

ich meine git und gitosis installiert auf einem gehosteten Server-Konto ausgeführt wird Debian auf. Ich habe auch vier Computern (zwei Ubuntu, zwei Windows) mit separaten Tasten rsa eingerichtet und erfolgreich jede bis zu Zugriff auf die gitosis installieren gesetzt. Alles funktionierte für einige Zeit reibungslos. Vor kurzem aber ich habe nicht in der Lage gewesen, meine ‚DesktopConfiguration‘ Projekt in irgendeiner Weise (Push, Pull, Klon) zuzugreifen. Ich hatte ursprünglich das DesktopConfiguration Projekt auf einer meiner Linux-Maschinen erstellt, schob es auf den gitosis Server und geklont es auf einem meiner Windows-Rechner. Ich habe keine Probleme hat es bis vor kurzem (in den letzten zwei Wochen oder so) erreichbar. Es folgt meine gitosis.conf Datei und die Fehlermeldung, dass ich erhalte (die Fehlermeldungen sind die gleichen, ob ich versuche, zu schieben, ziehen oder Klon meine Windows- oder Linux-Boxen verwendet wird):

Der Haken

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  

Fehlermeldung

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  

Die Geschichte

Aus meiner Erfahrung mit gitosis und die meisten der Fragen-und-Antworten, die ich online gefunden, die Fehlermeldungen sehen genauso aus wie die, die empfangen werden, wenn zu gitosis zu drücken versuchen, ohne zuerst, dass das Gerät, das Projekt zu einer Gruppe hinzugefügt hat hat Zugang zu. Leider scheint dies nicht in meinem Fall um wahr zu sein. (Es sei denn, ich bin etwas fehlt!)

The Wire

Ich bin mir nicht ganz sicher, ob dies einige weiteren Informationen zur Verfügung stellen würde, aber hier sind die Debug-Nachrichten von meinem Post-Update Haken:

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.  

Die Aussperrelement

Ich bin noch in der Lage, den Zugang (Push, Pull, Klon) alle anderen Projekte auf dem Server (in beiden den gitosis-admin und Hauptprojekte Gruppen) auf allen meinen Maschinen. Hier sind ein paar der Dinge, die ich bisher versucht:

  • Ich habe die Schreibweise aller Ordner, Dateien überprüft und Konfigurationseinstellungen mehrmals.
  • Ich habe entfernt und das DesktopConfiguration Projekt aus der gitosis.conf Datei erneut hinzugefügt, nachdem sichergestellt wurde, dass die Post-Update Haken die ordnungsgemäße Ausführung Berechtigungen hatte.
  • habe ich ein anderes Projekt zu gitosis nach DesktopConfiguration, und es funktioniert einwandfrei.
  • Ich habe entfernt und wieder hinzugefügt meinen Remote-Verweis auf das Projekt in git auf meinem lokalen Rechner.
  • Ich habe das DesktopConfiguration.git Projekt von meinem ‚Repositorys‘ Ordner auf dem Server entfernt und versucht erneut, um es zu schieben.
  • Ich habe auch alle meinen RSA-Schlüssel neu erstellt (obwohl die Authentifizierung nicht erscheint etwas mit den Fragen zu tun, dass ich sehe).

Alle diese Versuche sind gescheitert, mir zu erlauben, das Projekt zuzugreifen. Soweit ich weiß, ist nichts auf dem Server oder meine Desktop-Maschinen um die Zeit änderte es Zugang zu diesem Projekt verloren.

The Sting

Ich begrüße alle Erkenntnisse, die Sie mit offenen Armen haben können!

War es hilfreich?

Lösung

‚Lesezugriff verweigert‘ Ich überprüft würde, dass der gitosis Benutzer auf dem Server noch vollen Zugriff auf die Repositories hatte. Sie sagen, Sie sind sicher, dass nichts auf dem Server geändert, aber Sie haben eine Menge anderer Dinge ausgeschlossen. Es kann nicht zu überprüfen verletzt.

Andere Tipps

Es scheint signine bekam es in dem Kommentar Antwort korrigieren. Ich hatte das gleiche Problem und (nach einigen Heulen und Zähneknirschen) endlich das Problem behoben, indem alle Repositorys auf eine einzige „beschreibbaren“ Zeile setzen.

Nach der Quelle Inspektion, sieht man, dass gitosis ConfigParser verwendet, welche Optionen in einer Zeile erscheinen erfordert oder Sie können die Linie brechen, wenn Sie Platz am Anfang der nächsten Zeile zu verlassen. Also:

writable = WallpaperChanger RegexTester MovieAggregator FileRenamer

oder

writable = WallpaperChanger RegexTester
           MovieAggregator FileRenamer

Ich hatte ein ähnliches Problem und das Problem war ganz einfach:

Ich habe versehentlich 2 verschiedene Schlüsseldateien mit den gleichen öffentlichen Schlüsseln , wobei das Ergebnis, dass der Server mich als neue Benutzer erkannt (ohne Rechte auf eine bestimmte Repo statt mich) (mit Lese- / Schreibzugriff auf diese Repo-Geschäfte).

Das hatte ich meinen Kopf kratze so dass ich dachte, ich würde Aktie.

Ich habe gesehen, dass mit einer Zeile wie

writable =

kann den Zugriff auf alle Repositories brechen. Dies geschah, weil unsere gitosis.conf Auto erzeugt wird, und es kam zu dem Szenario, in dem eine Gruppe keine Repositories hatte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top