Ethereal-dev: Re: [Ethereal-dev] CVS Build Problems

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Wed, 22 Nov 2000 09:23:20 -0800
On Wed, Nov 22, 2000 at 03:25:01PM +0200, Heikki Vatiainen wrote:
>      If a directory has the set group ID bit set,  a  given  file
>      created within that directory will have the same group ID as
>      the directory, if that group ID is part of the group ID  set
>      of  the  process that created the file. Otherwise, the newly
>      created file's group ID will be set to the  effective  group
>      ID of the creating process.

The joys of Traditional UNIX vs. BSD; 4.2BSD, with the multiple-group
support, made the group owner of newly-created files (including
directories) be the group owner of the directory in which the file was
created, unlike traditional UNIX where it was the effective group ID of
the creating process - this was so that if you were in groups "foo" and
"bar", for different projects, say, the "foo" project's directory could
be owned by group "foo" and whatever you created in it would be owned by
group "foo", and the same would apply to "bar".

The POSIX compromise, when multiple groups were added to POSIX, was to
make the set-GID bit of the directory control the behavior.

(Now, if they'd had ACLs since Day One, the ACL for a directory could
have included - as I think it does on Solaris, at lease, and as I think
it also does on NT/2000 - the ACL and owner to be given to newly-created
files in that directory.)