Revision Control System

We've recently migrated from Unix to Linux, and unfortunately one of the command 'chown' is turned down on the new environment.

My dilemma is that whenever a user co (check-out), on new environment, scripts from RCS it overwrites the file ownership from the group ID to himself, and whenever he checks in the scripts, it remains as his own. I would like to somehow setup the system in such a way that whenever a user co/ci the scripts, he's able to check-out/check-in without changing the ownership.

Is there anyway I can do this without 'chown'?

What's the problem with each developer testing using his own files, or having access to a shared set owned by another? You are trying to move back in time to a less secure model. The umask can be set so the whole group has read/execute on all files.

You can sudo chown; root can chown things.

if RCS is able to make the change in one direction it should be able to make it in the other.

I suspect RCS is not using the crown() system call, but chgrp (). If your problem is group membership then you can use chgrp command if you are a member of the group.

hope this helps

You may be seeing an entirely different issue. You didn't say which UNIX System you were using. On Solaris systems, the set-GID bit in the permissions of a directory controls whether newly created files in that directory will be assigned the group-ID of the creating process or the group-ID of the containing directory. This could happen any time when the file system on which your source files reside is being provided by a Solaris server.

@Don, but the same would be the case on virtually any Unix/Linux system, no? Perhaps setgid was not set on the directories involved in the new Linux environment..

The standards allow two behaviors: newly created files get the group ID of the creating process (BSD) or the group ID of the containing directory (prior versions of UNIX System V). Most systems always provide one of these behaviors without looking at the containing directory.

Sun provided a feature allowing the end user to choose the behavior they wanted when UNIX System V was merged into its earlier BSD-based source tree. I am not aware of any other systems other than later AT&T releases of UNIX System V and SunOS/Solaris systems that provided the ability to use the set-GID bit on a directory to allow the user to choose the desired behavior, but it is certainly possible that some others do.

I can confirm that AIX is doing it the same way (and always has, AFAIK).

bakunin

Is it pertaining to changing files ownership?

absent better alternatives ...

just run a cron job regularly that chowns all the files in the rcs file tree. or something that finds and chowns files in the file tree that does not belong to the correct user. this way you will not need to remember to do the chowns.