Debian CVS Server über ssh

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
johannes Schmidt
Beiträge: 176
Registriert: 13.01.2003 21:41:27
Kontaktdaten:

Debian CVS Server über ssh

Beitrag von johannes Schmidt » 02.01.2007 15:56:35

Hi,

ich habe einen CVS server eingerichtet und meine ganzen Projekte darin angelegt. Auf der Maschine von der aus der Zugriff auf das CVS stattfinden soll habe ich folgendes in in die .bashrc geschrieben:

Code: Alles auswählen

export CVS_RSH=ssh
export CVSROOT=:ext:[user]@[IP]:/var/lib/cvs


Versuche ich nun ein:

Code: Alles auswählen

cvs checkout projekt
erhalte ich folgende Meldung:
cvs checkout: Updating projekt
cvs checkout: failed to create lock directory for `/var/lib/cvs/projekt' (/var/lib/cvs/projekt/#cvs.lock): Permission denied
cvs checkout: failed to obtain dir lock in repository `/var/lib/cvs/projekt'
cvs [checkout aborted]: read lock failed - giving up
Ich habe einen user/gruppe namens cvs angelegt und chmod auf root:cvs gestellt. Verzeichnisrechte stehen auf 770. Mein Benutzer ist ein der Gruppe CVS.

Stelle ich um auf 777 funktioniert alles was die Vermutung nahe legt, dass ich ein Benutzerproblem habe. Ich wollte nun schauen unter welchem Benutzer cvs ausgeführt wird - leider konnte ich cvs in /etc/ init.d nicht finden. Kann mir jemand sagen wo ich das bei Debian finde bzw. hat jemand einen Tipp wie ich mein Probleme lösen kann?

Vielen Dank

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: Debian CVS Server über ssh

Beitrag von Simmel » 03.01.2007 01:14:55

johannes Schmidt hat geschrieben:Hi,

ich habe einen CVS server eingerichtet und meine ganzen Projekte darin angelegt. Auf der Maschine von der aus der Zugriff auf das CVS stattfinden soll habe ich folgendes in in die .bashrc geschrieben:

Code: Alles auswählen

export CVS_RSH=ssh
export CVSROOT=:ext:[user]@[IP]:/var/lib/cvs


Versuche ich nun ein:

Code: Alles auswählen

cvs checkout projekt
erhalte ich folgende Meldung:
cvs checkout: Updating projekt
cvs checkout: failed to create lock directory for `/var/lib/cvs/projekt' (/var/lib/cvs/projekt/#cvs.lock): Permission denied
cvs checkout: failed to obtain dir lock in repository `/var/lib/cvs/projekt'
cvs [checkout aborted]: read lock failed - giving up
Ich habe einen user/gruppe namens cvs angelegt und chmod auf root:cvs gestellt. Verzeichnisrechte stehen auf 770. Mein Benutzer ist ein der Gruppe CVS.

Stelle ich um auf 777 funktioniert alles was die Vermutung nahe legt, dass ich ein Benutzerproblem habe. Ich wollte nun schauen unter welchem Benutzer cvs ausgeführt wird - leider konnte ich cvs in /etc/ init.d nicht finden. Kann mir jemand sagen wo ich das bei Debian finde bzw. hat jemand einen Tipp wie ich mein Probleme lösen kann?

Vielen Dank
hmh, ich würde ein chown versuchen (chmod sind die Dateirechte, chown die Zugehörigkeit zur Benutzer/Gruppe) und nicht root die Rechte geben sondern dem angelegten User und der dazugehörige Gruppe, dann mittels chmod ein 750 oder aber ein 770 wählen. Ich denke das sollte schon helfen.

Ich würde in dem Fall aber mal genauestens diese LOCK Datei ansehen. Wem gehört diese Lock-Datei eigentlich, das hättest du mal dazu schreiben sollen.

Ich würde dir ebenfalls empfehlen nochmal einen kurzen Blick in die docs zu werfen, wenn du Glück hast gibt es dort eine entsprechende Config-datei und/oder Erläuterungen.

/usr/share/doc

Falls du das noch nicht gemacht hast.

Andere Vermutung:

Unter welchem User führst du den Befehl aus? Als root oder aber als normaler User?
Kann es sein das diese Lock Datei root gehört und nur root diesen Befehl erfolgreich ausführen kann?

Wäre auch noch ne Möglichkeit. Check mal den Befehl als normaler User und als root und gucke ob es Unterschiede gibt.

Hth,
Simmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

johannes Schmidt
Beiträge: 176
Registriert: 13.01.2003 21:41:27
Kontaktdaten:

Beitrag von johannes Schmidt » 03.01.2007 12:02:02

Hi,

danke für die Antwort.

Natürlich habe ich mir die manpage etc. schon angeschaut ;) Bin ja faul :)

Die Benutzer / Gruppenzuordnung root:cvs habe ich auf das gesamte CVS Vernzeichnis rekursive angewendet. Ebenso die Berechtigung 770. Auch die Kombination mit cvs:cvs habe ich natürlich schon versucht. Da ich remote (via SSH) auf das CVS zugreife und der Benutzer auf der CVS Maschine nur in der Gruppe cvs ist macht das aber denke ich wenig Sinn und bringt auch nichts.

Ich denke, der entscheidente Punkt ist wie der CVS Server auf die Files zugreift bzw. mit welchem User. Einen Systemuser konnte ich leider nicht finden.

Gruß

Antworten