Installing and Managing CVS177
6.3.1Configuring CVS
Once CVS is installed on the server, the next step is to configure the machine properly to
use CVS. The first step is to create a user and group to be the owners of the repositories. For pur-
poses of example, assume that the user and the group are both named �
cvs
�. This example
shows how to set up CVS for local and remote �pserver� access. This method of setting up CVS
is not the most secure method and does not provide a secure method for accessing the CVS
repository remotely; but it is necessary if a project intends to provide remote, anonymous access
to the CVS repository. For details on setting up a secure method of accessing the repository, see
Section 6.7.1.
To accomplish this, as root, issue the
useradd
command listed below. Under RedHat
Linux, this will create the
cvs
user and the
cvs
group. All of the following commands must be
issued as the root user.
# useradd -r -c "CVS user" cvs
As initialized, this account will have no password and will not be able to be logged into.
You can either leave it this way and, in the event that maintenance is necessary, log in as root and
resolve issues, or assign a password and use that account. Leaving the account with no password
is probably the most secure, but in the event that a password is necessary, simply assign one.
# passwd cvs
Changing password for user cvs
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
The next step is to create a CVS repository. For this example, assume that the CVS root is
/usr/local/cvsroot
. Additional repositories may be set up at this time, simply issue the
CVS
init
command as many times as necessary; while changing the �
d
option to reflect the
additional repositories.
# cvs �d /usr/local/cvsroot init
This will create the file structure necessary for CVS to function and will initialize all nec-
essary files.
Once the user and repositories have been created, the ownership of the repositories needs
to be changed.
# chmod �R cvs:cvs /usr/local/cvsroot
[additional repositories here]
The next step is to add users to the repositories. Each repository has a password file in the
$CVSROOT/CVSROOT
directory. There are three fields in this file separated by colons. The first
field is the user name that may or may not be the same as the user�s login id. The second field is
the user�s encrypted password. This password is encrypted with the
crypt()
function. The
final field is the name of the user whose request will be performed. This is the owner of the CVS
repository and in our example, the owner is �
cvs
�.