11.8. Repository Access Methods
CVS provides a variety of ways to access the repository. These methods are briefly described in the following sections, and Chapter 8 explains them in more detail.
11.8.1. Client Side
On the client side, you specify the access method as part of the repository path. If you don't declare one of the following methods, CVS assumes either the local or ext method:
11.8.2. Server Side
The kserver, gserver, and pserver access modes require a server to run on the repository computer. For these modes, the server is started with inetd or xinetd. The inetd configuration must be on one line and should call CVS with the --allow-root and -f options and the pserver or kserver command.
The parameter to the --allow-root option is the path to the repository root directory. If you intend to have several repository root directories, add more --allow-root options.
If your version of inetd doesn't allow you to use port numbers in inetd.conf, add appropriate lines to /etc/services and use those service names instead of the port number in inetd.conf.
These are the two commands the server can use:
11.8.3. PAM Support
In CVS 1.12.2, experimental PAM support was added. I strongly recommend reading the official documentation for your current version of CVS. The information provided here is accurate as of CVS 1.12.13.
PAM, as mentioned earlier in the book, stands for Pluggable Authentication Modules, and I think modular authentication is the neatest thing to happen to security since the shadow password file. I'm very enthusiastic about this being added to CVS, as it puts security in the hands of the system administrator. However, until standards have been established for the CVS use of PAM, please be very careful with it. Don't use it yet if your project requires rigorous security.
Unfortunately, PAM is currently available only with the pserver access method, and the authentication tokens are transmitted with only trivial encryption, and stored on the client machine also with trivial encryption.
For more detail on the current implementation of PAM in CVS, see Chapter 8. I have an introductory essay on PAM at the O'Reilly web site, at http://www.linuxdevcenter.com/pub/a/linux/2001/09/27/pamintro.html.