Adding a New CVS Repository
Create a New System User to Manage the CVS Repository
There should be one system user created to manage each CVS repository. This system user should initially be given exclusive read/write access to all files in the CVS repository. No other system users should be able to read/write files in the CVS repository. It is up to the system user to change the permissions on his/her files if he/she would like to give others access to them.
The system user can be a single user (e.g., rico, neu) if the new CVS repository is intended to store personal files for one user, or it can be a project user (e.g., pipeline, debabeler) if the intention is for multiple clients to share a set of files.
- Login as root
- Add a new system user
- adduser debabeler
- passwd debabeler (give the new user a password)
- Use the user and group pid of the new system user to add a user entry to /cvs/etc/passwd
- grep debabeler /etc/passwd -> debabeler:x:506:507::/home/debabeler:/bin/bash
- Add debabeler:x:506:507::/:/sbin/nologin at the end of /cvs/etc/passwd
- Log in as the new system user
- ssh cvs.loni.ucla.edu -l debabeler
- Edit the .bashrc file in the user's home directory
- Add umask 077 at the end of the file
- source .bashrc
Initialize the CVS Repository
All CVS repositories are created in the same root directory. The name of each CVS repository should be reflective of the project or user the repository is for.
Do the following as the system user for the new CVS repository:
- Change to the main directory for all CVS repositories
- Create a directory for the new CVS repository
- mkdir Debabeler
- cd Debabeler
- Initialize the new CVS repository
- cvs -d /cvs/root/Debabeler init
Do the following as root:
For a Protected CVS Repository
- Add the new CVS repository to those managed by the cvsd daemon
- Add Repos /root/Debabeler to the end of /etc/cvsd/cvsd.conf
- Restart the cvsd daemon
For an Anonymous CVS Repository
- Add the new CVS repository to those managed by the cvsd daemon
- Add Repos /root/Debabeler to the end of /etc/cvsd/cvsdAnon.conf
- Restart the cvsd daemon
- /etc/init.d/cvsdAnon restart
Link the CVS Repository to the LONI User Registration System (CURS)
The CVS password file manages the login names/passwords for all the clients that can access a CVS repository.
Do not link an anonymous CVS Repository to the CURS.
Do the following as root:
- Make the new CVS respository accessible to CURS by adding it to the CURS server group
- chmod g+rwx /cvs/root/Debabeler
- chgrp 301 /cvs/root/Debabeler
- chmod o-rwx /cvs/root/Debabeler/CVSROOT (stop other users from accessing)
- chgrp 301 /cvs/root/Debabeler/CVSROOT
- Edit the CURS configuration file so CURS knows to update the passwd file
- Add /cvs/root/Debabeler/CVSROOT/passwd to the end of /cvs/root/CursUpdates.cfg