FWIW: Before TOPS, there was MIT's CTSS.   The DEC Project, Programmer Number (a.k.a. PPN) idea seems to have been similar to the People and Problem Number idea of CTSS, which allowed for directories of your own files and as well as your group (shared problem number). As Rodrigo pointed out Multics also had a form of ACLs (UNIX used ACL's just very simplified ones).

So I'm not sure where to pin this specific idea.  I think it was a bit like a lot of CS ideas, different people were playing with different aspects of different ideas at the time, and brillance of Ken and Dennis was putting some of the best ideas of the day together and adding a few of their own into a simple implementation that was good enough to do real work.

Clem


On Wed, Jul 31, 2019 at 1:29 PM Arthur Krewat <krewat@kilonet.net> wrote:
On 7/31/2019 12:49 PM, Rodrigo G. López wrote:
> Multics had modes per file (https://multicians.org/fjcc4.html) but i
> don't know about the origins. the simpler approach of
> owner/group/other is a purely Unix creation and i would bet Ken
> Thompson is behind it all.

TOPS-10 had a 3 octal digit file protection code:

<xxx> - <Owner, Project, Everyone else> - Logins are PPNs - [Project,
Programmer] - So if I was [76,5], another user with [76,10] was in the
same project. Much like UNIX groups.

Owner Protection Codes
7*, 6* - You can execute, read, or change the protection code of the file.
5* - You have unlimited access to the file, except for renaming it.
4* - You have unlimited access to the file.
3 - You can execute, read, or change the protection code of the file.
2 - You have unlimited access to the file, except for renaming it.
1, 0 - You have unlimited access.
* The File Daemon is called on a protection failure on this file (my
memory is a little fuzzy on this, but I believe it allowed finer grained
protections).

Protection Codes for Fields 2 and 3
7 - The user cannot access the file.
6 - The user can only execute the file.
5 - The user can execute or read the file.
4 - The user can execute, read, or append to the file.
3 - The user can execute, read, append to, or update the file.
2 - The user can execute, read, append to, update, and write to the file.
1 - The user can execute, read, append to, update, write to, and rename
the file.
0 - Unlimited access, including changing the protection code of the file.

The name TOPS-10 was first used in 1970, but the monitor itself dates
back to 1964. I'm not sure when these protection codes came into being,
though.