LinuxWorld

Securing a public CVS system

What's the best way to secure a public Concurrent Version System repository that allows for anonymous read-only access using the standard pserver connection protocol for CVS?

Try the cvsd program, a wrapper for running CVS in a change root (chroot) "jail" on most Unix-type systems. Using cvsd to run the public CVS pserver in a restricted chroot jail protects the system by limiting the amount of damage that could be done if CVS were exploited.

The cvsd program is used by SourceForge.net to provide anonymous CVS access for SourceForge projects.

To install cvsd, you need to have CVS installed. Then download the cvsd package and follow the installation instructions, paying special attention to the user-id, group-id and file permission settings to ensure that a secure chroot environment is created.

Binary packages are available for Debian, Fedora, FreeBSD and GenToo Linux installs. For other systems, you have to download and build the source package. After installing and configuring cvsd, create or copy the public CVS repository containing the files you want to share with the world, and open up the CVS port in your firewall to allow pserver connections to cvsd.

While it's possible to provide read/write access for privileged users, many systems have a working CVS repository reachable only through SSH and maintain a public read-only copy in a separate directory managed by cvsd.

React: Give us your thoughts on the issues here.
Use this form to start a public discussion with other Linux World users on this article.
Log In | Register for an account (Why you should)

Note: Register to have your user name appear; otherwise your comment will show up as "Anonymous."

*Anonymous comments will only appear once they are approved by the moderator.

Featured Whitepapers
Newsletter sign-up

Sign up for one of Network World's newsletters compliments of Linux World

Linux & Open Source News Alert
Web Applications Alert
Video & Podcast Alert
Security: Threat  Alert
Virtualization Alert

Email Address: