On Mon, 16 Aug 2010 13:28:07 -0500 (CDT), Mike Miller
<mbmiller+l at gmail.com> wrote:
> I have a highly-related question...
> 
> Every user on the system is in his own group, so files for user "bob" are 
> created by default with owner "bob" and group "bob".  Most users are also 
> in a group called "staff".  I want to make a shared space for the staff 
> group where every file and subdirectory created within our staff directory 
> always has the group "staff" (recursively for the whole tree).  This will 
> be our shared space.  How can I do that?

The sgid bit[1]. "chmod g+s <dir>; chgrp staff <dir>" and new files
will have the staff group set. I suspect that the default umask will
hinder what you want though. So, you can either: change everyone's
umask, run a quick and dirty cron, or a fancy inotify script.

[1]: http://en.wikipedia.org/wiki/Sgid

> 
> The system where I'm most interested in doing this now is a CentOS system, 
> but I want to be able to do it on Ubuntu or any other Linux system.

distro-agnostic issue.

> 
> By the way, I really don't like this new scheme where every user has his 
> own group.  I know that it helps to keep things private, but I'm working 
> on a system where I want more sharing and less privacy.  I suppose it 
> protects us a little bit from rare mistakes, but it gets in the way all 
> the time.  The people managing the system think we can have this shared 
> space, as described above, but so far we don't have it.

Well, you can set a default group for the user(s). (usermod -g staff
<user>)

Hope that helps,
Jeremy