There's also the setgid bit on directories, that when files are created,
they will be in the group that the parent directory has on it.
Also, I don't think it's been mentioned, but there's the setuid bit on
directories - otherwise known as the sticky bit. When set, even if you
have rights to "write" the directory (meaning, delete files), you can't
delete those owned by other users. Useful for /tmp
I have no idea what the timeline is for either of these features :)
On 8/1/2019 12:22 PM, John P. Linderman wrote:
*Yet clean as the idea of groups was, it has been used only
sporadically (in my experience).*
As I recall it, the original "basic groups" were essentially "us" and
"them". "Us" was everyone in the "in crowd",
"them" was everyone else.
Since the basic groups were rather extensive, it was prudent to turn
group write permission off in your default umask. But that made groups
rather clunky. You were in only one group at a time, so you had to
"chgrp" to a select group, and then remember to set your umask to
allow group write permission so others in the group could modify
files. This changed when you could be in multiple groups at the same
time (a BSD invention?), and your primary group automatically changed
to the group owning your current working directory (iff you belonged
to that group). This made it unnecessary to do an explicit chgrp in
most cases. Having group write permission off in your default umask
was now a nuisance. We fixed that by giving everyone an unshared
primary group id, typically the same as the uid. It then became safe
to make group write permission on by default. This made groups much
more useful. Anyone in a group (but only those members) could create a
directory owned by that group, and group members working in that
directory defaulted to creating files (and subdirectories) group-owned
by and writable by all the members of the group. It just worked.