RCONN@SIMTEL20.ARPA (03/28/84)
From: Rick Conn <RCONN@SIMTEL20.ARPA> ZCPR3 - "Secure" Systems Finally, with password protecton and named directories (DIR form) built into ZCPR3, ZCPR3 offers a much more secure environment than CP/M. In particular, if the DU form is disabled, the only directories a user can access are those he can name, and some of those may have password protections on them. Here is a complete session from cold boot on: AMPRO 51K TPA CP/M 2.2 with ZCPR 3.0 BIOS Version 1.2 on March 24, 1984 ZCPR3 LDR, Version 1.0 Loading SYS.ENV Loading SYS.NDR Loading SYS.FCP Loading SYS.RCP ERROR4, Version 1.0 Error Handler Installed WELCOME TO ZCPR III BASE>dir AMPZ358R.COM 10 | SYS3R .RCP 2 A0:BASE -- 2 Files Using 12K ( 266K Left) BASE>pwd PWD, Version 1.0 DU : DIR Name DU : DIR Name DU : DIR Name DU : DIR Name ---- -------- ---- -------- ---- -------- ---- -------- A 0: BASE A 1: PRIVATE1 A 2: PRIVATE2 A 15: ROOT B 0: DEMO1 B 1: DEMO2 B 2: DEMO3 B 3: DEMO4 B 4: DEMO5 B 5: INTRO B 6: MAIL BASE>dir root: PW? unknown AMPZ358R.COM 10 | SYS3R .RCP 2 A0:BASE -- 2 Files Using 12K ( 266K Left) BASE>dir root: PW? rpass DIR .COM 2 | ERROR4 .COM 2 | GOTO .COM 2 | LDR .COM 4 MENU .COM 4 | MKDIR .COM 6 | PWD .COM 2 | SETFILE .COM 2 SH .COM 4 | SHDEFINE.COM 4 | SHFILE .COM 2 | SHOW .COM 4 SHVAR .COM 4 | SPECIAL .NDR 2 | STARTUP .COM 2 | SYS .ENV 2 SYS .FCP 2 | SYS .NDR 2 | SYS .RCP 2 | TCCHECK .COM 2 TCMAKE .COM 6 | TCSELECT.COM 4 | WHEEL .COM 2 | Z3TCAP .TCP 8 ZEX .COM 6 A15:ROOT -- 25 Files Using 82K ( 266K Left) BASE>xxx File XXX.COM Not Found Note that the DU form is simply ignored. No change to files or directory location is made. BASE>1: BASE>a: BASE>b: BASE>dir 1: AMPZ358R.COM 10 | SYS3R .RCP 2 A0:BASE -- 2 Files Using 12K ( 266K Left) BASE>dir demo1: AMPZ3-58.COM 10 | AMPZ3-60.COM 10 | AMPZ3-61.COM 10 | AMPZ358R.COM 10 BDOS58 .COM 4 | BDOS60 .COM 4 | BDOS61 .COM 4 | CPM58 .COM 10 CPM60 .COM 10 | CPM61 .COM 10 | SYS3R .RCP 2 B0:DEMO1 -- 11 Files Using 84K ( 284K Left) BASE>demo1: DEMO1>root: PW? rpass ROOT>wheel /s WHEEL, Version 3.0 Wheel Password? Wheel Byte is ON ROOT>NOTE We now have one directory structure: ROOT>pwd PWD, Version 1.0 DU : DIR Name DU : DIR Name DU : DIR Name DU : DIR Name ---- -------- ---- -------- ---- -------- ---- -------- A 0: BASE A 1: PRIVATE1 A 2: PRIVATE2 A 15: ROOT B 0: DEMO1 B 1: DEMO2 B 2: DEMO3 B 3: DEMO4 B 4: DEMO5 B 5: INTRO B 6: MAIL With the ability to have several named directory files, we can have several sets of directories, including some directories which are both hidden and totally inaccessable to the user unless he has the ability to load the proper named directory (NDR) file. ROOT>NOTE Now that I am a WHEEL and in ROOT, I can define another ROOT>NOTE directory structure which is special: ROOT>ldr special.ndr ZCPR3 LDR, Version 1.0 Loading SPECIAL.NDR ROOT>pwd PWD, Version 1.0 DU : DIR Name DU : DIR Name DU : DIR Name DU : DIR Name ---- -------- ---- -------- ---- -------- ---- -------- A 0: BASE A 1: PRIVATE1 A 2: PRIVATE2 A 14: SYSROOT A 15: ROOT B 0: DEMO1 B 1: DEMO2 B 2: DEMO3 B 3: DEMO4 B 4: DEMO5 B 5: INTRO B 6: MAIL ROOT>NOTE Note that there is a 2nd root, called SYSROOT, which ROOT>NOTE was not known (OR ACCESSIBLE) under the old system ROOT>NOTE (SYS.NDR) ROOT> ROOT>NOTE Also, as a wheel, I can obtain passwords: ROOT>pwd pass PWD, Version 1.0 DU : DIR Name - Password DU : DIR Name - Password ---- -------- -------- ---- -------- -------- A 0: BASE - A 1: PRIVATE1 - MYPASS1 A 2: PRIVATE2 - PASS A 14: SYSROOT - SPASS A 15: ROOT - RPASS B 0: DEMO1 - B 1: DEMO2 - B 2: DEMO3 - B 3: DEMO4 - B 4: DEMO5 - B 5: INTRO - B 6: MAIL - MPASS ROOT>private1: PW? mypass1 PRIVATE1>wheel /r WHEEL, Version 3.0 Wheel Password? Wheel Byte is OFF PRIVATE1>pwd pass PWD, Version 1.0 Password Request Denied - Not Wheel DU : DIR Name DU : DIR Name DU : DIR Name DU : DIR Name ---- -------- ---- -------- ---- -------- ---- -------- A 0: BASE A 1: PRIVATE1 A 2: PRIVATE2 A 14: SYSROOT A 15: ROOT B 0: DEMO1 B 1: DEMO2 B 2: DEMO3 B 3: DEMO4 B 4: DEMO5 B 5: INTRO B 6: MAIL PRIVATE1>ldr root:sys.ndr PW? rpass ZCPR3 LDR, Version 1.0 Loading SYS.NDR PRIVATE1>ldr root:special.ndr PW? rpass ZCPR3 LDR, Version 1.0 Loading SPECIAL.NDR PRIVATE1>sysroot: PW? spass SYSROOT>root: PW? rpass ROOT>ldr sys.ndr ZCPR3 LDR, Version 1.0 Loading SYS.NDR ROOT>sysroot: ROOT>NOTE SYSROOT is not even defined now -------