I think I rather understand how file permissions work in Linux. However, I don't really understand why they are split into three levels and not into two.
I'd like the following issues answered:
- Is this deliberate design or a patch? That is - was the owner/group permissions designed and created together with some rationale or did they come one after another to answer a need?
- Is there a scenario where the user/group/other scheme is useful but a group/other scheme will not suffice?
Answers to the first should quote either textbooks or official discussion boards.
Use cases I have considered are:
- private files - very easily obtainable by making a group per-user, something that is often done as is in many systems.
- allowing only the owner (e.g. system service) to write to a file, allowing only a certain group to read, and deny all other access - the problem with this example is that once the requirement is for a group to have write access, the user/group/other fails with that. The answer for both is using ACLs, and doesn't justify, IMHO, the existence of owner permissions.
NB I have refined this question after having the question closed in superuser.com.
EDIT corrected "but a group/owner scheme will not suffice" to "...group/other...".
devs
group allows for this.foo
a member of groupsfoo
anddevs
, and assign shared files to thedev
group and private files to thefoo
group