Having roots in the more "businessy" areas of the Labs, groups made sense
for a collection of people working on the same project. You wanted everyone
in the group to be able to create files and directories, but not people
outside the group, less because you didn't trust most of the people sharing
a machine than because you didn't want accidental destruction from outside.
But the newgroup command for acting as a member of the group was clunky.
Use of groups for this purpose didn't become practical until 1) you could
be members of multiple groups simultaneously and 2) the group ownership of
newly created files and directories would be that of the directory in which
they were created, if you were a member of that group. Of course, this
meant your umask should confer group write permission by default, which
didn't work well if your primary group was widely shared. So we adopted the
policy of everyone having a primary group with the same id as your user id.
"Private" files and directories were not group-modifiable by anyone other
than yourself, but "project" files were modifiable by anyone in the project
group. This made groups work seamlessly. Just do a chgrp on a directory
where group sharing was to be done, and everything just worked thereafter.
On Sun, Oct 3, 2021 at 6:12 PM Norman Wilson <norman(a)oclsc.org> wrote:
I can't speak to the evolution and use of
specific
groups; I suspect it was all ad-hoc early on.
Groups appeared surprisingly late (given how familiar
they seem now): they don't show up in the manual
until the Sixth Edition. Before that, chown took
only two arguments (filename and owner), and
permission modes had three bits fewer.
I forget how it came up, but the late Lee McMahon
once told me an amusing story about their origin:
Ken announced that he was adding groups.
Lee asked what they were for.
Ken replied with a shrug and `I dunno.'
Norman Wilson
Toronto ON