Von Bare zu Bare - git(olite)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
monumentum
Beiträge: 91
Registriert: 22.12.2012 13:53:47
Lizenz eigener Beiträge: GNU General Public License

Von Bare zu Bare - git(olite)

Beitrag von monumentum » 05.02.2013 14:02:33

Hallo,

Ich habe mehrere gitolite-Bare-Repos unter ~/repositories liegen, auch das Repo test.git. Jetzt soll man das Repo aber per http clonen können, allerdings hat Apache nur unter /var/www/user Zugriff. Das verschieben in den für Apache erreichbaren Ordner und das anschließende verlinken per ln -s bringt nur bedingt was, da sich der manuell gegebene, für Erreichbarkeit notwendige chmod 705 nur auf bestehende Dateien auswirkt. Soll heißen, bei jedem Push werden die neuen Commits wieder mit chmod 700 angelegt. Gitolite muss wegen Nutzung mehrerer User sein, da ich keine weiteren Accounts erstellen kann. Ein Bare-Repo, was ohne gitolite im HTTP-erreichbaren Ordner liegt, ist Problemlos clonbar. Ansonsten gibt es immer einen 403. Clonen per SSH geht problemlos, aber es soll ja per HTTP ohne Authentifizierung geclont werden. Sollte man vielleicht so rangehen, dass bei einem push ein zweites, im Apacheerreichbaren Ordner liegendes Bare-Repo per Hook dazu aufgerufen wird, das gitolite-Repo zu clonen und andere können es dann per HTTP clonen? Geht es überhaupt, ein Bare-Repo in ein Bare-Repo zu clonen?

Ich hoffe, jemand hat eine Idee.

Besten Dank und viele Grüße
monumentum

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von Natureshadow » 05.02.2013 14:06:39

Hi,

setz doch einfach die umask so, wie du sie brauchst.

-nik

monumentum
Beiträge: 91
Registriert: 22.12.2012 13:53:47
Lizenz eigener Beiträge: GNU General Public License

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von monumentum » 05.02.2013 14:10:03

Aber die Files kommen mit einem bestimmten Wert rein. Die alle jedes mal zu ändern wäre nicht wirklich effektiv, und ich habe keinen Zugriff auf die configs...wäre das mit den zwei Bare-Repos realisierbar?

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von Natureshadow » 05.02.2013 14:22:49

Hi,

wieso hast du keinen Zugriff auf die configs? Und wieso solltest du die commits nach dem pushen ändern? Wer oder was setzt denn im Moment die umask so restriktiv?

-nik

monumentum
Beiträge: 91
Registriert: 22.12.2012 13:53:47
Lizenz eigener Beiträge: GNU General Public License

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von monumentum » 05.02.2013 14:27:02

Ich bin bloß einer von mehreren Nutzern auf dem Server, aber kein Admin. Alle Repos sollen eigentlich im genannten Ordner auf der home bleiben, http ist nicht einkalkuliert. Aber gehen muss es ja trotzdem. Und die Dateien, die bei einem push erstellt werden, bekommen eben einen reichlich doofen chmod.
Das scheint aber von git oder gitolite zu kommen.

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von Natureshadow » 05.02.2013 14:42:37

Wenn die Admins die Maske vorgeben, wird das wohl seinen Grund haben. Wenn du das für falsch hältst, stelle dort bitte eine entsprechende Anfrage.

Deine andere Idee ist gefährlich und geht bestimmt alle 2 Tage gnadenlos kaputt.

Anyway, wie kann es sein, dass du offenbar Shellzugriff hast, die Repos in deinem Home liegen und du trotzdem nicht test.git/config schreiben kannst oder noch besser test.git/hooks/pre-receive anlegen kannst? Sind dir die Rechte auf diese Dateien explizit weggenommen worden?

-nik

monumentum
Beiträge: 91
Registriert: 22.12.2012 13:53:47
Lizenz eigener Beiträge: GNU General Public License

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von monumentum » 05.02.2013 14:49:10

Nein. Ich dachte, du meintest das globale gitzeugs. Auf die Repos habe ich vollzugriff. Was bewirkt denn der Hook genau bzw. Was soll ich in der Config genau ändern? Rechtemäßig ist da nix.

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von Natureshadow » 05.02.2013 15:16:44

Hi,

du könntest in test.git/hooks/pre-receive

Code: Alles auswählen

umask 022
setzen. Das Skript muss ausführbar sein. Alternativ kannst du die umask auch in ~/.profile setzen.

-nik

monumentum
Beiträge: 91
Registriert: 22.12.2012 13:53:47
Lizenz eigener Beiträge: GNU General Public License

Re: AW: Von Bare zu Bare - git(olite)

Beitrag von monumentum » 05.02.2013 16:03:48

Danke für deine Aufwendungen, es funktioniert! Danke!

Antworten