This area is an archive and is no longer actively maintained. Information found on this page is likely to be extremely out of date and therefore highly inaccurate. We recommend the Ximbiot - CVS Wiki for up-to-date information about CVS and its associtated tools.

If you do find anything useful on this page that is not yet in the Ximbiot - CVS Wiki and you have the time, please add it!

Controlling Access for Various Users

Controlling Access for Various Users


Discussion:

This is a discussion about controlling the access which various users have to a CVS repository with a focus on short-term solutions using existing tools.

The current mechanisms are as follows. For details on each, see the Cederqvist manual.

  • The CVSROOT/readers file provides a way to designate users as read-only. For example, one would use this to provide anonymous CVS on the internet.
  • The commitinfo file is one of the most powerful access control mechanisms available to CVS. For example, one can build access control lists via this hook. It only provides protection against casual or accidental violations; determined users will be able to circumvent it.
  • The "cvsadmin" group can control the ability to run the "cvs admin" command. It only provides protection against casual or accidental violations; determined users will be able to circumvent it.
  • Setting the operating system's file permissions of files in the repository is an all-or-nothing thing. Users will need write access to the repository to write and to read to it (because CVS needs to create lock files). However, on an all-or-nothing level, this can be useful (see for example the CVSUMASK feature).

Developer Issues:

Here is a patch which adds access control lists implemented in CVS and here is the more recent patch against 1.11.1p1. Corey Minyard mainains these and other patches and info here. This is more powerful than Unix groups, operates on the level of CVS usernames, and has more potential to be expanded to offer finer grained access control (for example, different access control for "cvs tag" than "cvs commit").


For More Information:
  • Our Security Information Page is more concerned with making sure users access CVS rather than controlling what users can do once they are in.

Return to The Information Page List.

Derek Price, CVS developer and technical editor of Essential CVS (Essentials line from O'Reilly Press) , and others offer consulting services and training through Ximbiot.