Page Numbers: Yes X: 527 Y: 10.5" First Page: 68
Columns: 1 Edge Margin: .4" Between Columns: .4"
Margins: Top: 1.3" Bottom: 1"
Line Numbers: No Modulus: 5 Page-relative
Odd Heading:
Maxc OperationsCreating and Destroying Maxc Accounts
Even Heading:
Creating and Destroying Maxc AccountsMaxc Operations
19. CREATING AND DESTROYING MAXC ACCOUNTS
19.1. Obtaining a Maxc Account
Maxc directories are requested via a directory-request form obtainable from [Ivy]<Forms> directory. The following forms are available:
MaxcFilesOnly.Press (Figure 7, Appendix)
This form requests the creation of a Files-Only directory.
PARegistryAppl.Press (Figure 8, Appendix)
This form requests the creation of a Grapevine, Ivy or Maxc account.
It is for CSL, SDD, SCA and other PARC employees only.
MaxcNon-XeroxLogin.Press (Figure 9, Appendix)
This form requests a Maxc login account for Non-Xerox employees or
Xerox employees not at PARC or Palo Alto SDD.
The top part of a directory application is filled out by the applicant and his supervisor. The form then migrates to Ron Cude (SDD), Larry Masinter or Alan Bell (SCA), or Ron Weaver (other) who does the following:
Verifies that the directory name is not in conflict with an existing directory and that the password is reasonably unguessable;
Approves the directory request and fills in the desired directory parameters on the form;
Ordinarily the account administrators forward the form to Ron Weaver who authorizes and creates the account, then passes the form on to Kathi Anderson, who is in charge of maintaining the Maxc account file. On rare occasions it may be necessary (because of time restraints) for an administrator to create an account. On such occasions the administrator is asked to notify Ron Weaver of such creation and to make certain that all files specified in section 19.4.2 are correctly edited..
The various steps in creating a Maxc directory are discussed below. After the directory is created, the application form goes to Kathi Anderson who adds the name to appropriate distribution lists, notifies Lynn Harrington for updating the phone list, then files the form.
19.2. General Information About Maxc Directories
Passwords
Initial passwords are required to be unpronounceable and relatively unguessable. However, there is nothing to prevent the user from changing his password later, so we can’t guarantee this. We do not permit passwords for "regular" directories (as opposed to message-only directories) to be known to more than one person; this guards the system against unauthorized access.
Upper and lower case characters are equivalent for passwords, so it is not necessary to be careful about case while entering passwords.
User groups and Directory groups
Tenex file and directory protection distinguishes between three classes of access:
self (someone logged into or connected to the directory);
same group (someone logged into a directory in the same group);
others.
Putting a user’s login directory into a User Group allows him to access other directories in that group in the same group mode.
Putting a directory into a Directory Group allows other users in that group access in the same group mode.
Directories are usually setup so that new files created in that directory will permit total owner access, read-only same-group access, and no access to others. Most new directories are assigned to the Computer-research user group and directory group. There are many exceptions.
A list of the current groups is supposed to be kept in <ACCOUNTS>GROUP-LIST.NUMBERS and was as follows on 4 October 1979:
0Computer-research13Pogos
1System14Nova
2Mesa15PARC
3Secretaries16XMS-users
4Lisp17User-Sciences
5Understander18ITG
6Bliss19Mesa-users
7Inter-Network20Reyes
8Customer Programming21SSL Group Leaders and Secretaries
9University MPC22JDS
10Alto23University Grant
11Parcpub24CSL
12Graphics
Most Xerox user directories are put in the Computer-research directory and in no other groups.
File Protection
The file protection assigned a directory is the default protection of new files created in that directory. The file protection is an 18-bit number divided into three 6-bit groups. This number breaks down into three fields, identical in format, each of which can be regarded as containing two octal digits or six binary bits. The first 6-bits define owner protection, second same-group protection, and third general-public protection. The interpretation of the bits in a group is as follows:
B0Read contents of file
B1Write onto file
B2Execute program stored in file
B3Append to file
B4Access per page table
B5--
Setting a bit to 1 permits the action; setting it 0 denies the action. Taking these six bits as a two digit octal number, some common values are: 77, which permits full access; 52, which protects a file from modification but permits other functions; and 00, which denies everything. [Refer to Figure 6, Appendix for correct values corresponding to boxes on Files-only account request form.]
Directory Protection
In addition to specifying the access allowed to file contents, Tenex allows directory contents to be protected similarly. The directory protection word is composed of three 6-bit fields, one field each for "self", "group", and "others" similar to the file protection word. The bits have meaning as follows:
B0If off, completely prevents use of the directory in any way
B1Files may be opened subject to file protection
B2Owner functions permitted (including CONNECT) without password
B3Files may be added to the directory
B4--
B5--
Directory protection can only be changed by someone with WHEEL status. Some common values of Directory protection are: 776060, which permits the owner to do everything, other users to read-write files according to file protection; 777760 permits the owner and same group to do everything, others to read-write according to protection (typically used for files-only directories); 777700 permits owner and same group everything, general public nothing (typically used for files-only directories that one doesn’t want non-group people to see); 777060 permits owner everything, same group connect access (typically used for files-only directories in the Computer-research group, where you want everyone to be able to connect but not to be able inadvertently to clobber files while not connected). [Refer to Figure 6, Appendix for correct values corresponding to boxes on Files-only account request form.]
Disk Limit
Presently, message-only directories are assigned a disk limit of 50 which is enforced.
Regular directories are assigned a disk limit that varies according to the organization: CSL, 1000 pages; SCA, 750 pages; SDD, ASM, and other, 250 pages. This varies when special needs are present. Disk limits for regular directories are not "enforced", which means that file storage in these directories can exceed allocation without difficulties (except an annoying "over allocation" message from Tenex) until total free storage in the system falls below 2000 disk pages. When free storage is below this, attempts to write new files into directories over allocation are denied.
Project Group
The project group to which a directory is assigned classifies it for the accounting software, which summarizes CPU utilization, file storage use, etc. according to these groups.
The current project groups are ADL, Administration, Administration-not-on-phone-list, AMDS/NY, ASM/ES, ASM/PA, ASM/Rank-Xerox-Sweden, Computer-Research, CSL, CSL-Consultants, CSL-Files-only, CSL-Summer, CSL-Temporary, CSL-University-Grant, CSL-Visiting-Scientist, ED/LA, EES, EES-Files-Only, EOS/Pasadena, GSL, ICL, ICL-Consultants, ISL, ISL-Consultants, ISL-Files-Only, ISL-Summer, JDS, Legal, Lisp-Files-Only, Non-Xerox, Old-NonPARC, OSL, OSL-Consultants, PARC, PARC-Files-Only, PD/LA, PSD/ES, SCA-B32-CIS, SCA-B32-CIS-Consultants, SCA-B32-CIS-Files-Only, SCA-B32-CIS-Summer, SCA-B32-LRG, SCA-B32-LRG-Consultants, SCA-B32-LRG-Files-Only, SCA-B32-LRG-Summer, SCA-B35-VLSI, SCA-B35-VLSI-Consultants, SCA-B35-VLSI-Files-Only, SCA-B35-VLSI-Summer, SCA-Unknown, SDD, SDD-Files-Only, SDD/LA, SDD-Mesa, Shugart, Tenex, Undesignated-Summer-Students, Versatec, Webster, XCS/LA and Xerox. Directories are attached to these projects by editing the <ACCOUNTS>PROJECTLIST file.
The PROJECTLIST file is used by the MAXC-ACCT subsystem discussed later. It is important that this file be updated correctly, but Tenex will run correctly even when this file is invalid or incomplete.
The format of a group in the PROJECTLIST file is as follows:
CSL:
AIS, ALISP, ..., WINOGRAD, YEARY;
i.e., the group name followed by a ":", the list of directory names in alphabetical order separated by "," and terminated by ";".
Files-only Directories
Files-only directories are created when needed, usually to hold files needed by a number of different users working on a common project. Tenex does not allow login to files-only directories. Each files-only directory is represented by a line in the <SYSTEM>ARCHIVE-FILES-ONLY.TXT file of the form:
OWNER,FILEDIRECTORY
where OWNER is the login directory name of the person responsible for FILEDIRECTORY. <SYSTEM>ARCHIVE-FILES-ONLY.TXT is needed by the archive system to direct messages about archive traffic to OWNER. By convention, the entries in ARCHIVE-FILES-ONLY.TXT are in alphabetical order by owner, and where there are several files-only directories for a single owner, these are also in alphabetical order.
<SYSTEM>ARCHIVE-FILES-ONLY.TXT is also used by the HOGS program, discussed below, to associate disk usage of files-only directories with the login account for the person responsible for the storage.
For ease of looking up the owner of a Files-Only directory I have created the file <SYSTEM>ARCHIVE-FILES-ONLY-ALPHA.TXT which list directories alphabetically in the form
FILEDIRECTORY,OWNER
Login Directories
Each login directory is represented by a line in the file <ACCOUNTS>UACHK.TXT. The standard entry in this file is as follows:
ACCOUNTANT:1*,BACKGROUND
This line controls the pie slice scheduling groups accessible to the directory. The "1*" means that the default login pie slice is the numerically named account number 1; the ",BACKGROUND" means that after login, the user can change his pie slice to the low priority BACKGROUND slice.
Nearly all directories are represented by a UACHK.TXT entry in the above format. However, a few directories for people who maintain the hardware or do other special stuff, may be allowed to access some other slices. For example:
SYSTEM:1*,BACKGROUND,SERVICE,MAINT,ARPANET,220100
This allows the <SYSTEM> directory to change its scheduling slice to BACKGROUND, SERVICE, MAINT, ARPANET, or 220100.
The UACHK.TXT file is compiled into a big accounting matrix which is stored on <SYSTEM>UACHK.FILE during the procedure for creating or destroying directories.
Message User
Message-only users have very limited access to subsystems and have enforced disk limits. The subsystems accessible to message-only users are specified in <SYSTEM>SUBSYSTEMS.directory-name, if it exists, or in <SYSTEM>SUBSYSTEMS.DEFAULT, if no special file exists for the directory. It is required that subsystem names in these files be in alphabetical order. <SYSTEM>SUBSYSTEMS.DEFAULT presently contains the following:
<PUP>EFTP.SAV
<SUBSYS>ARCVER.SAV
<SUBSYS>DELVER.SAV
<SUBSYS>MSG.SAV
<SUBSYS>PLZFIX.SAV
<SUBSYS>PRESS.SAV
<SUBSYS>READMAIL.SAV
<SUBSYS>SEE.SAV
<SUBSYS>SNDMSG.SAV
<SUBSYS>XMS.SAV
If a special <SYSTEM>SUBSYSTEMS.directoryname file is created for a message-only directory, it will generally contain all of these files plus the extra ones that are added for the directory.
19.3. The EcCREATE and EcPRINT Commands
Directories are created and destroyed using the Tenex Executive’s EcCREATE command (i.e., <control-E>CREATE), which has subcommands that allow properties of the directory to be
specified. The various subcommands for EcCREATE are discussed here, and then examples where directories are actually created and destroyed are given in the following sections. The current properties of any directory can be observed by using the EcPRINT command. User encrypted password is printed out as two octal numbers by using the "verbose" form of the ↑E Print command (that is, "↑EPrint dirName Verbose"). You must have enabled your WHEEL or OPERATOR status to execute CREATE or PRINT.
CREATE and its subcommands:
!EcCREATE username [NEW] (password) password,<cr>
[SUPERPASSWORD] GUESS<cr>
The default parameters of a new directory are as follows:
DISK limit = 750 pages (not enforced)
DEFAULT file protection = 775200
PROTECTION of directory = 776060
USER group number = 0 (Computer-Research)
DIRECTORY group number = 0 (Computer-Research)
NUMBER of directory = next unused number
no special capabilities
does not have a mailbox (i.e., has no MESSAGE.TXT file)
If the directory is not supposed to be in the Computer-Research user group or directory group, you will have to remove it from this group using the NOT DIRECTORY and/or NOT USER subcommands below.
!!ABORT= Cc
!!NUMBER dirnumberfor setting directory number. When creating a new
directory on Maxc2, the directory number is defaulted
to the next unused number. 1
!!FILESmakes a files-only directory
!!MESSAGEmakes a file-access-only directory
!!MAINTENANCEa capability--subset of WHEEL/OPERATOR
capabilities
!!OPERATORa capability
!!WHEELa capability
------------------------------
1 When you run out of directory numbers (highest possible = 1777), you can reset the last-used directory number, as follows:
@enable
!quit<cr>
./
1[ 0<cr>
call mapdir<esc>x
lstdno[ 10<cr>
<control-P>
.↑
!
This resets the last-used directory number to 10. Be sure to do this on both Maxc1 and Maxc2. Subsequently, new directories you create will re-use directory numbers of directories that once existed but have been deleted.
!!DEFAULT<esc> (file) PROTECTION 6-char octal number sets the default file
protection for directory
!!DIRECTORY groupnumberargument is one of the directory group numbers given
earlier--repeat this subcommand for multiple directory
groups
!!SECONDARY groupnumberargument is one of the directory group numbers given
earlier--repeat this subcommand for multiple directory
groups
!!USER groupnumberargument is one of the directory group numbers given
earlier--repeat this command for multiple directory
groups
!!DISK limitinpagessets disk limit
!!ENFORCEcauses disk limit to be enforced
!!PROTECTION<esc> (of directory) dirprotec sets directory protection
!!LISTprints the status of the directory as EcPRINT would
do if the CREATE command were terminated now
!!MAILBOX1Permits MESSAGE.TXT file to be created. This will be
issued on Maxc2 only when a MAXC mailbox site is
specifically requested, with justification. In other
words, if there is no valid reason for a user to have a
mailbox site on Maxc2, then his mailbox will be on one
or more of the Grapevine servers. In creating a new
account the default is NO MAILBOX.
!!NOT DIRECTORY groupnumremoves the directory from a directory group
!!NOT SECONDARY groupnumremoves the directory from a secondary directory
group
!!NOT ENFORCEdon’t enforce disk limit
!!NOT FILESnot a files-only directory
!!NOT MAINTENANCEturns off the MAINTENANCE capability
!!NOT MESSAGEturns off the message-only restriction
!!NOT OPERATORturns off the OPERATOR capability
!!NOT USER groupnumremoves the directory from a user group
!!NOT WHEELturns off the WHEEL capability
!!PASSWORDfor changing password
!!ENCRYPTED (password)Sets password, using encrypted form (two octal
numbers) as input.
!!KILLkills or deletes the directory
Unused subcommands:
!!ABSOLUTE
!!ALPHANUMERIC
!!MODE
!!NAMEfor changing directory names--unimplemented
!!REPEATobsolete
------------------------------
1Only has effect when creating a new directory. Has no effect when used on an established directory. MSGFIX must be used on established directories to create or delete mailboxes.
!!RETENTIONunimplemented
!!CONFIDENTIALa capability
!!NETWIZARDa capability
!!PRIVILEGES octalnumsetting capabilities in octal
!!SPECIAL
19.4. Creating a Maxc Directory
You have to be a WHEEL or OPERATOR to create or destroy a Maxc directory, change the password, or do other kinds of directory maintenance.
1. Enable yourself and connect to the ACCOUNTS directory on Maxc2. Then do a WHO or LD and make sure that none of the other users who diddle with the accounting are at that time also modifying the accounting files. They would be connected to the ACCOUNTS or SYSTEM directory, if they were doing this.
2. For login and file-access-only directories (as opposed to files-only directories) edit UACHK.TXT to contain the new directory name. For files-only directories edit <SYSTEM>ARCHIVE-FILES-ONLY.TXT and <SYSTEM>ARCHIVE-FILES-ONLY-ALPHA.TXT to contain the new directory name. For all directories edit <ACCOUNTS>-PROJECTLIST to contain the directory in the appropriate places. If you are creating a number of directories, you can do the edits for all of the directories at once, which saves time.
For some message-only directories, additional subsystems will be specified; these will require the creation of a <SYSTEM>SUBSYSTEMS.username file which should include the contents of <SYSTEM>SUBSYSTEMS.DEFAULT plus the additional subsystem names. We follow the convention of preserving alphabetical ordering of the names in each section of these files.
3. EcCREATE the directory on Maxc2 using one of the following examples as a prototype:
File-access-only directory:
!EcCREATE username [NEW] password,<cr> (Don’t omit the ",")
[SUPERPASSWORD] GUESS<cr>
!!MESSAGE<cr>Makes message-only directory
!!DISK 50<cr>Sets the disk limit to 50 pages
!!ENFORCE<cr>Enforce the disk limit
!!LIST<cr>List the properties of the directory and make sure that
all the parameters are setup as desired
!!<cr>Execute the CREATE with properties as setup
[CONFIRM]<cr>
Files-only account:
!EcCREATE username [NEW] password,<cr> (Don’t omit the ",")
[SUPERPASSWORD] GUESS<cr>
!!FILES<cr>Makes files-only directory
!!LIST<cr>List the properties of the directory and make sure that
all the parameters are setup as desired
!!<cr>Execute the CREATE with properties as setup
[CONFIRM]<cr>
Regular directory:
!EcCREATE username [NEW] password,<cr> (Don’t omit the ",")
[SUPERPASSWORD] GUESS<cr>
!DISK 1000<cr>Sets the disk limit to 1000 pages
!!LIST<cr>List the properties of the directory and make sure that
all the parameters are setup as desired
!!<cr>Execute the CREATE with properties as setup
[CONFIRM]<cr>
4. After creating the directory you should print the parameters of the directory and write down the directory number, which you will need shortly:
!EcPRINT username<cr>
[SUPERPASSWORD] GUESS<cr>
DISK LIMIT 1000
WHEEL
ALPHANUMERIC ACCOUNTS
DIRECTORY NUMBER 15Write down this number for later
DEFAULT FILE PROTECTION 500000775200
DIRECTORY PROTECTION 500000776060
USER GROUPS: 0, 1
DIRECTORY GROUPS: 0, 1
5. If you are creating a number of directories at once, you should carry out a EcCREATE sequence for each of them at this time.
6. Next, you have to reinitialize the accounts on Maxc2 as shown below:
!RUNFIL UACHK.RUNFIL<cr>Reads UACHK.TXT and creates UACHK.FILE on
the connected directory (you are still connected to
<ACCOUNTS>) [This step is necessary for message-
only and regular directories but is not needed for
files-only directories.]
--Check for any error messages before continuing--
!EcINITIALIZE ACCOUNTS<cr>Renames UACHK.FILE onto the <SYSTEM>
directory and installs it as the current accounting
matrix [This step is necessary for message-only and
regular directories but is not needed for files-only
directories.]
Note that if you have a number of Maxc directories to create at once, you can insert all the names into the UACHK.TXT, PROJECTLIST, and ARCHIVE-FILES-ONLY during the same editting session. Then you can EcCREATE all the directories. Then you do the RUNFIL and INITIALIZE ACCOUNTS of the files just once.
19.5. Editing the Grapevine Data Base
The Grapevine data base must be edited to contain the correct directory name and password for all new Maxc accounts. It must also be edited to delete the directory name for all Maxc accounts that are destroyed. To do this you should have version 6T15 or later of Laurel so you can run program Maintain, the Grapevine Registration Server Maintenance Program.
Run Laurel and bug "Run" in the lower command menue. Type Maintain<cr> and control will pass to the Grapevine Registration Server Maintenance Program. A typical session follows:
Creating a Mailbox:
Grapevine Registration Server Maintenance Program
Version of 16-Mar-81 19:33:19
Login RName.PA . . . ok
GV: Create Individual : Name.pa<cr> with password: password<cr> . . . done
- -> Add Mailbox at server: Cabernet.ms<cr> for individual: Name.pa<cr> . . . done
GV: Add Mailbox to server: Zinfandel.ms<cr> for individual: Name.pa<cr> . . . done
GV: Type Entry for R-Name: Name.pa<cr> . . . done, type=individual
Connect-site:
Forwarding: null
Mailbox-sites: maxc
GV: Quit [Confirem] Yes
End of Message
Deleting a Mailbox:
GV: Delete Individual: Name.pa<cr> [Confirm] Yes . . . done
- -> Remove All memberships in registry: pa for R-Name: Name.pa<cr>
Mail Forwarding:
GV: Add Mailbox at server: Maxc<cr> for individual: NewName.pa<cr> . . . 3#14#51 . . . done
GV: Remove Mailbox at server: Maxc<cr> from individual: OldName.pa<cr> . . . 3#14#51 . . . done
GV: Add Forwarding to destination: NewName.pa<cr> for individual: OldName.pa<cr> . . . 3#14#51 . . . done
GV:
Note: If NewName is to be forwarded to some location such as @CMU or @USC-ISIB
then this should be included as part of the NewName followed by .ARPAGATEWAY.
Type "?" to see available commands.
GV: ? Commands are:
Add Forwarding, Add Friend, Add List of Members, Add Mailbox, Add Member, Add Owner, Create Group, Create Individual, Delete Group, Delete Individual, Initialize New Name, Login, Modify All Occurrences, Quit, Remove All Memberships, Remove Friend, Remove Forwarding, Remove Mailbox, Remove Member, Remove Owner, Set Connect-site, Set Decimal Password, Set Password, Set Remark, Set Server, Type All Groups, Type Details, Type Entry, Type Members, Verify All Groups, Verify Group, Verify Name
GV:
Creating List of Mailboxes:
GV: Type Entry for R-Name: Individuals.pa . . . done, type = group
Remarks: Individuals.pa
Members: AHenderson.pa, ABell.pa, - - -
- - - etc.
GV: Type Entry for R-Name: Individuals.es . . . done, type = group
Remarks: Individuals.es
Members: Abagaz.es, Abe.es, - - -
- - - etc.
GV: Quit [Confirm] Yes
You may use PUT to move the Maintain typescript to some file (e.g. Maintain.TypeScript) and use Bravo to make a hardcopy.
19.6. Changing the Password and Other Modifications to Directories
The EcCREATE command is also used to modify parameters for an existing directory. When used in this way, directory parameters are initially defaulted to the current parameters of the directory, so only those items being changed need be typed as subcommands.
Note: It is illegal to change the directory number or the name of the directory in this way. To do this it is necessary to destroy and recreate the directory and copy files manually.
When using CREATE in this way you omit typing the password, so that you don’t have to be told the password of the directory in order to change its parameters. For example:
!EcCREATE olddirectoryname,<cr>(Don’t omit the ",")
[SUPERPASSWORD] GUESS<cr>
!!NOT USER 0<cr>Remove from Computer-research user group
!!USER 1<cr>Add to System group
!!NOT DIRECTORY 0<cr>
!!DIRECTORY 1<cr>
!!PASSWORD xglot1<cr>Change the password
!!<cr>
[CONFIRM]<cr>