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.)