Page Numbers: Yes X: 527 Y: 10.5" First Page: 89
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
24. CREATING AND DESTROYING MAXC ACCOUNTS
24.1. Obtaining a Maxc Account
Maxc directories are requested via a directory-request form obtainable from Haychan Sargent. The following forms are available:
Files-only directory application (Figure 7, Appendix)
CSL, SSL, SDD application (Palo Alto employees only) (Figure 8, Appendix)
Xerox non-Palo Alto or non-Xerox application (Figure 9, Appendix)
The top part of a directory application is filled out by the applicant and his supervisor. The form then migrates to Hal Murray (SDD), Larry Masinter or Ted Strollo (SSL), 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 directory parameters on the form;
For ordinary cases, the account administrators fill out the form, sign it, create the directory, and send the form to R. Weaver, who in turn signs the form, create the account, and passes the form on to Haychan Sargent, who is in charge of Maxc account files. A non-standard case is passed to E. Fiala for approval before the directory is created. Directory creation of requests is normally carried out by Ron Weaver (<RWEAVER>), who may also create directories for the other account administrators.
The various steps in creating a Maxc directory are discussed below. After the directory is created, the application form goes back to Haychan Sargent who files the form and passes the new directory information to Kathi Anderson for updating message distribution list files and Lynn Harrington for updating the phone lists.
For PARC personnel, the Maxc directory application may also be used as an application for an IFS directory on IVY. The requestor checks the "MAXC Account" and/or "IVY Account" box to request a Maxc and/or Ivy directory. Note that only one application is filed for a directory, regardless of whether that directory exists on only Maxc, only Ivy, or both.
24.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-research12Graphics
1System13Pogos
2Mesa14Nova
3Secretaries15PARC
4Lisp16XMS-users
5Understander17User-Sciences
6Bliss18ITG
7Inter-Network19Mesa-users
8Customer Programming20Reyes
9University MPC21SSL Group Leaders and Secretaries
10Alto22JDS
11Parcpub23University Grant
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; SSL, 750 pages; SDD, ASD, 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 assigned a directory classify it for the accounting software, which summarizes CPU utilization, file storage use, etc. according to these groups.
The current project groups are CSL, CSL-Summer, CSL-Consultants, CSL-Files-only, Defunct, SSL-unknown, SSL, SSL-RI-PT-Contract-VS, SSL-Consultants, SSL-Files-Only, University-MPC, Lisp-Files-Only, ICL, SDD, Mesa, GSL, JDS, OSL, Administration-not-on-phone-list, Administration, SDD/LA, ADL, PARC, PD/LA, ED/LA, Xerox, Non-Xerox, Computer-Research, Tenex, ASD/PA, ASD/ES, Webster, EOS/Pasadena, Old-NonPARC and Versatec. 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.
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.
24.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 commnad (that is, "↑EPrint dirName Verbose"). This is useful in comparing Maxc1 and Maxc2 passwords, or transferring a password from one system to the other, without knowing the clear-text version of that password. 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
has a mailbox (i.e., has a 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 Maxc1, the directory number is defaulted
to the next unused number. However, on Maxc2, this
subcommand is required to ensure identical directory
numbers on both Maxc1 and Maxc2. 1
!!FILESmakes a files-only directory
!!MESSAGEmakes a message-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
./
1[ 0
call mapdir<esc>x
lstdno[ 10
<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
!!NO MAILBOX1Prevents MESSAGE.TXT file from being created.
This will be issued on either Maxc1 or Maxc2 for
regular and message-only accounts. In other words, if
the primary system for a user is on Maxc1, his
mailbox will be on Maxc1; if the primary system is
Maxc2, then his mailbox will be on Maxc2. When
Laurel has been developed further, there will prob-
ably be a number of user directories that do not have
mailboxes on either system. The NO MAILBOX
command is not required for files-only directories
because the FILES subcommand automatically does
this.
!!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
------------------------------
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.
Unused subcommands:
!!ABSOLUTE
!!ALPHANUMERIC
!!MODE
!!NAMEfor changing directory names--unimplemented
!!REPEATobsolete
!!RETENTIONunimplemented
!!CONFIDENTIALa capability
!!NETWIZARDa capability
!!PRIVILEGES octalnumsetting capabilities in octal
!!SPECIAL
24.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 Maxc1. 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 message-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 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 Maxc1 using one of the following examples as a prototype:
Message-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 Maxc1 as shown below, and then copy the resulting stuff to Maxc2 where a similar but slightly different sequence is carried out:
!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.]
!PUPFTP MAXC2<cr>
*CONN ACCOUNTS<cr>
*PRESERVE VERSION<cr>
*STORE PROJECTLIST<cr><cr>
<User password incorrect
LOGIN (user) YOURDIRECTORY yourpassword<cr>
*STORE <SYSTEM>UACHK.FILE<cr><cr>
copy <SYSTEM>UACHK.FILE on Maxc1 to
<ACCOUNTS>UACHK.FILE on Maxc2. [This step
is necessary for message-only and regular directories
but is not needed for files-only directories.]
*CONNECT SYSTEM
*STORE <SYSTEM>ARCHIVE-FILES-ONLY.TXT<cr><cr>
You only have to do this copy if you modified
<SYSTEM>ARCHIVE-FILES-ONLY.TXT. You also
have to copy <SYSTEM>SUBSYSTEMS.username if
you added or modified any of these files.
*QUIT<cr>
!DET<cr>
--Chat to Maxc2--
@ENABLE yourpassword<cr>
!CONN ACCOUNTS<cr>
!EcCREATE username [NEW] password,<cr> (Don’t omit the ",")
[SUPERPASSWORD] GUESS<cr>
!!same subcommands as on Maxc1
!!NO MAILBOX<cr>You only create a mailbox, i.e., a MESSAGE.TXT
file, on one of the two Maxc systems. Normally
the mailbox is created on Maxc1 and you give the
NO MAILBOX subcommand on Maxc2. However,
for a primary user of Maxc2, the mailbox is put on
Maxc2 and you would issue NO MAILBOX when
you CREATEd the account on Maxc1.
!!NUMBER directory-number (from EcPRINT above)
!!<cr>
[CONFIRM]<cr>
If you are creating a number of directories, then you go ahead and create the others at this time, remembering to add the NO MAILBOX and DIRECTORY dirnumber subcommands in addition to the stuff you did on Maxc1. Then when you have created all of them, you finish up with the following:
!EcINITIALIZE ACCOUNTS<cr>Initializes the accounts, renaming
<ACCOUNTS>UACHK.FILE to
<SYSTEM>UACHK.FILE [This step is necessary for
message and regular directories but 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, INITIALIZE ACCOUNTS, and PUPFTP of the files just once. Then you Chat to Maxc2, CREATE all the directories there, and finally do the INITIALIZE ACCOUNTS just once on Maxc2.
24.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 unknown
GV: Login [Confirm] Yes
Your Name Please: Name.pa<cr>
Your Passoerd: password<cr> . . . Locating registration server . . . 3#14#51 . . . ok
GV: Create Individual : Name.pa<cr> with password: password<cr> . . . done
- -> Add Mailbox at server: Maxc<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: NewName.pa<cr> for individual: OldName.pa<cr> . . . 3#14#51 . . . done
GV:
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
Now PUT the Maintain.Typescript in some file (i.e. Individuals.GV) and use Bravo to hardcopy.
24.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>