CVS Connection


Table of Contents

CVS connection 
Using the client with password authentication 
Use SSH for CVS connection 
Anonymous CVS Access 
No such user ! 
No such user ! 
trouble setting up Chroot'd CVS Server: "no such user" 
trouble setting up Chroot'd CVS Server: "no such user" 
CVS and password 
anonymous access problem: no such user 
anonymous access problem: no such user 

CVS connection 

Using the client with password authentication 

cvs -d :pserver:bach@chainsaw.brickyard.com:/usr/local/cvsroot login
cvs -d :pserver:bach@chainsaw.brickyard.com:/usr/local/cvsroot checkout foo

The `:pserver:' is necessary because without it, CVS will assume it should use rsh to connect with the server

Use SSH for CVS connection 

http://turbulence.ucsd.edu/~hxluo/tutorial/cvstour.html#ssh

This is easier for the administrator because he/she doesn't have to do anything for the server once the repository is created. The clients need to have UNIX accounts on the server machine and be able to connect to the sever using SSH. To access the repository using SSH, do this first:

%setenv CVSROOT :ext:$USER@turbulence.ucsd.edu:/usr/local/newrepository
%setenv CVS_RSH ssh

Then you don't need run 'cvs login', but run CVS commands directly. The shell will ask for the password for your account automatically.

Anonymous CVS Access 

http://cvsbook.red-bean.com/cvsbook.html#Anonymous_Access http://www.gigascale.org/softdevel/faq/16.html

If you list a username in CVSROOT/writers, that user will have write access, and every pserver user not listed in writers will have read-only access (that is, if the writers file exists at all, it implies read-only access for all those not listed in it). If the same username is listed in both files, CVS resolves the conflict in the more conservative way: the user will have read-only access.

The format of the files is very simple: one user per line (don't forget to put a newline after the last user). Note that the files apply to CVS usernames, not system usernames. If you use user aliasing in the CVSROOT/passwd file (putting a system username after a second colon), the leftmost username is the one to list in a readers or writers file.

Put this in CVSROOT/writers:

anonymous

To generate an encrypted password, run cryptout.pl with the password

gigasource:root: %C2> /usr/local/bin/cryptout.pl foobar
oPG6N3As668O2
gigasource:root: %C2>

and then placing that encrypted password in a new password entry in $CVSROOT/CVSROOT/passwd

Another way to create this file is to use htpasswd, which is normally used to generate Apache access password files. The format it creates is about the same as that which CVS requires, except for the :cvsuser appendage to each line. You'll still have to do that manually, but it allows you to create a passwd file with passwords different that those in the regular /etc/passwd file.

$ htpasswd -b passwd anonymous ''
Updating password for user anonymous

Modify your copy of CVSROOT/config so that its contents look like this:

# Set this to "no" if pserver shouldn't check system users/passwords
SystemAuth=no