Meaningless Drivel is fun!
The moose likes Linux / UNIX and the fly likes cvs users , and setup ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "cvs users , and setup ?" Watch "cvs users , and setup ?" New topic

cvs users , and setup ?

Sam Doder
Ranch Hand

Joined: Feb 06, 2008
Posts: 204
I have setup cvs with xinetd. My config file for it is

From this you can see that my cvs root repository is located at /var/lib/cvs
I have made the /var/lib/cvs owner=cvsgroup group=cvsgroup and permissions are drwxrwx--- So only users that are add to the cvsgroup can access the repository.

3 Questions

1) say I have created another repo at location /home/morerepos same own/group/permissions as /var/lib/cvs. Is their some way I can add the /home/morerepos to the configuration file above so that they both can be used as repo locations when I restart the cvs service.

2) Is it possible to start to different cvs services each running on different ports?

3) Is their away to restrict a particular user to a few particular projects so that he can only check in/out on those projects in my repo?
Note is their away without have to alter the group of a project since I have tons of users already accessing that project under the group cvsgroup rwx but I only want some users to have "r" or "rx" permissions. Basically what is the easiest way to have complete control over all my users.
Sam Doder
Ranch Hand

Joined: Feb 06, 2008
Posts: 204
I figured most of it out

1) is add server_args = -f --allow-root /var/lib/cvs --allow-root /var/lib/cvsnextone --allow-root /var/lib/cvsanotherrepo pserver then restart xinetd

2) add another config file in /etc/xinetd directory for a second cvs service and set the port to something different then the default 2401. Then restart the xinetd service.

So those 2 questions are solved

But the 3 one is a problem for me
Because whenever I check in stuff under a given user it commits it with user and group to be the same?
For example I have cvsguy1 and cvsguy2 each are in the cvsgroup and the repo's owner=nobody , group=cvsgroup chmod= rwxrwx---
Why is it when ever I commit something with cvsguy1 the folder owner/group is cvsguy1/cvsguy1? I want it to be cvsguy1/cvsgroup ?

The problem then becomes cvsguy2 is not in group cvsguy1...

How do you set the default group that the user checks in stuff as? (I don't want to always have to chgrp on each folder after the fact )
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 17423

I think you're confusing the user/group ID of the person doing the check-on with the user/group ID of the CVSpserver process.

Typically, unless my memory fails, you'd create a user ID of "cvs" with a primary group ID of "cvs" and use that for the pserver. That is, instead of "user = root", code "user = cvs" in your xinetd config file.

Authorized CVS users would then be added to the CVS group. The actual access control within CVS would be done using the CVS security mechanisms themselves, based on the userid that the committing user logged into CVS under.

An IDE is no substitute for an Intelligent Developer.
Pat Farrell

Joined: Aug 11, 2007
Posts: 4659

Pardon me, this is a bit OT, but why CVS? Why not SVN or GIT or something more modern?
Peter Johnson

Joined: May 14, 2008
Posts: 5852

I echo Pat's misgivings.

JBoss In Action
I agree. Here's the link:
subject: cvs users , and setup ?
It's not a secret anymore!