This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

cvs users , and setup ?

 
Sam Doder
Ranch Hand
Posts: 204
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
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
Posts: 204
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 17622
39
Android Eclipse IDE Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Pat Farrell
Rancher
Posts: 4660
5
Linux Mac OS X VI Editor
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Pardon me, this is a bit OT, but why CVS? Why not SVN or GIT or something more modern?
 
Peter Johnson
author
Bartender
Posts: 5852
7
Android Eclipse IDE Ubuntu
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I echo Pat's misgivings.
 
Don't get me started about those stupid light bulbs.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic