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