&version 2 &- *********************************************************** &- * * &- * Copyright, (C) Honeywell Bull Inc., 1987 * &- * * &- * Copyright, (C) Honeywell Information Systems Inc., 1982 * &- * * &- * Copyright (c) 1972 by Massachusetts Institute of * &- * Technology and Honeywell Information Systems, Inc. * &- * * &- *********************************************************** &- &trace off &goto &ec_name &- &- ACCOUNTING COLD START SECTION, FOR INITIALIZING SYSTEM FILES &- AFTER A "boot -cold". &- &- UP TO DATE AS OF ANSWERING SERVICE 17.0 (MR12.1) &- &- Modified by T. Casey, June 1976, for MR4.0 &- Modified by T. Casey, December 1976, for MR5.0 &- Modified by T. Casey and B. Greenberg, September 1977 for MR6.0 &- Modified by F. W. Martinson, January 1978 for MR7.0 &- Modified by C. Hornig, August 1979, for MR8.0 &- Modified by T. Casey, February 1980, for MR8.0 &- Modified by R. Holmstedt, July 1981, for MR9.0 &- Modified by F. W. Martinson, August 1981, for MR9.0 final changes &- Modified by R. Holmstedt, May, 1982, for MR10.0 &- Modified by G. Palter, October 1983, to create the mail table &- (MR10.2) &- Modified by R. Holmstedt, Nov. 1983, for final changes. &- Modified 84-09-21 by E. Swenson for MR11, A.S. 14.2. &- Modified 1984-12-11 by BIM for new value. &- Modified 1984-01-28 by Steve Herbst, preregister and give &- necessary access to Data_Management.Daemon. &- Modified 1985-03-21 by E. Swenson to use set_acl instead of &- ms_set_acl to avoid warning messages. Note that the &- current AS version is 16.1. &- Modified 1985-03-29 by E. Swenson to create the directory &- >system_control_1>mc_acs. &- Modified 1985-04-23 by E. Swenson to make Data_Management setup &- work. &- Modified 1985-05-05 by Art Beattie to correct minor bugs. &- &- &- HISTORY COMMENTS: &- 1) change(87-08-28,Lippard), approve(87-02-09,PBF7616), &- audit(87-08-28,Farley), install(87-09-01,MR12.1-1095): &- Modified to create and set_acl on set_proc_required.acs (in &- >sc1>admin_acs). &- END HISTORY COMMENTS &- &- &- --------------------------------------------------------------------------- &- U T I L I T Y F U N C T I O N S &- &- These exec_com "subroutines" are placed at the beginning of the &- segment for efficiency, since exec_com performs a linear search of &- the segment, from the beginning, to find the label, when executing &- the &goto &ec_name at the beginning of the segment. &- --------------------------------------------------------------------------- &- &label make_dir &trace off &if &[not [exists directory &(1)]] &then &do create_dir &(1) &if &[exists argument &(3)] &then &do move_quota &1 &3 &if &[equal [wd] >] &then move_dir_quota &(1) &(3) &if &[equal [wd] >udd] &then move_dir_quota &(1) &(3) &if &[equal [wd] >user_dir_dir] &then move_dir_quota &(1) &(3) &end &end &- Set the ACL appropriately set_acl &(1) sma *.SysDaemon sma *.SysAdmin &f4 &- Get rid of redundant acl term for Initializer.SysDaemon delete_acl &(1) -brief set_iacl_seg &(1) rw *.SysAdmin set_iacl_dir &(1) sma *.SysAdmin &- Add the specified name &if &[not [equal x x&(2)]] &then &if &[not [exists entry &2]] &then add_name &(1) &(2) &- &quit &- &- ------------------------------------------------------------ &- &label dir_addname &trace off &- USAGE ec &ec_dir>dir_addname PRIMARY_NAME ADDITIONAL_NAMES &- &1 &f2 &- &if &[exists directory &(1)] &then &do &if &[exists argument &(2)] &then add_name &(1) &f(2) -brief &end &else &print (asu.ec): directory &1 not found. Unable to add names to it. &quit &- &- add_project: This entry will create one project with the specified &- name and other information. It calls new_proj to create the project. &- &label add_project &trace off &if &[not [exists argument &(6)]] &then &do &print (add_project.ec): Usage: ec add_project Name Alias Title Quota Attributes Min_Ring &quit &end &set NAME &(1) &set ALIAS &(2) &set TITLE "&(3)" &set QUOTA &(4) &- &if &[equal &r(5) ""] &then &set ATTRIBUTES "" &else &set ATTRIBUTES &(5) &- &set MIN_RING &(6) &attach new_proj &(NAME) &- Title &(TITLE) &- Investigator System Administration &- Investigator Address System Administration &- Supervisor = &- Phone unknown_phone &- Account nonbill &- req nonbill &- amount &- cutoff &- billing name System Administration &- Billing Address System Administration &- Alias &(ALIAS) &- Administrator &- abs-max-fg-cpu &- auth system_low &- audit &- quota &(QUOTA) &- dir_quota &- rate structure &- group System &- groups &- Attributes &(ATTRIBUTES) &- grace &- min_ring &(MIN_RING) &- max_ring &- pdir_quota 1000 &- max_fg &- max_bg &- review? no &- project dir LV &- Users (add a dummy, we will replace the PMF later) SA1 . &detach &quit &- &- add_person: This entry adds a user_id to the PNT by calling new_user. &- &label add_person &trace off &if &[not [exists argument &(3)]] &then &do &print (asu.ec (add_person.ec)): Syntax is: &print ec add_person Personid Default_Project Description {Password} &quit &end &- &if &[not [exists argument &(4)]] &then &set PASSWORD "" &else &set PASSWORD &(4) &- &attach new_user &- Enter full user name (Last, First I.) *&(3) &- Enter mailing address c/o System Administration &- Enter programmer number or "none" none &- Enter notes Default user &- Enter default project id or "none" &(2) &- Password &(PASSWORD) &- Password Again &(PASSWORD) &- Network Input Password &- Password Again &- Please suggest a userid for &(1) &- Userid assigned is &- Is this ok? yes &- More users to add? no &detach &quit &- &- edit_ssu: This entry edits the system_start_up.ec to reflect the &- use of a message coordinator terminal. It is only called if &- a message coordinator channel has been specified in the call &- to acct_start_up.ec. &- &label edit_ssu &trace off &if &[not [exists argument &(2)]] &then &do &print (asu.ec): Syntax is: &print (asu.ec): ec edit_ssu ssu_path mc_channel &quit &end &if &[not [exists entry &(1)]] &then &do &print (asu.ec): System_start_up.ec segment &1 not found. &quit &end &set SSU_PATH &(1) &set MC_CHANNEL &(2) &attach qedx r &(SSU_PATH) /^& sc_command accept a.h000/a sc_command accept &(MC_CHANNEL) sc_command redefine default_vcons otw_ tty &(MC_CHANNEL) \f /^sc_command define scc tty otw_/s/otw_/&(MC_CHANNEL)/ /^sc_command define asc tty otw_/s/otw_/&(MC_CHANNEL)/ /^sc_command define ioc tty otw_/s/otw_/&(MC_CHANNEL)/ /^sc_command define bkc tty otw_/s/otw_/&(MC_CHANNEL)/ w q &detach &quit &- &- &- &- acct_start_up: This entry is the driver for the accounting startup &- procedure. It sets up the directories off the root, sets up &- >system_control_1, >udd>SysAdmin>admin, >udd>SysAdmin>library, &- and other directories necessary for running a service Multics. &- It registers various projects and various userids necessary for &- proper running of Multics. &- &label acct_start_up &label asu &print (asu.ec): Multics Accounting Startup (version of 87-08-28 for MR12.1) &if &[not [exists argument &(1)]] &then &do &print (asu.ec): Syntax is: &print (asu.ec): ec asu [cold | cold2] channel &quit &end &- &if &[exists argument &(2)] &then &set MC_CHANNEL &(2) &else &set MC_CHANNEL otw_ &- &if &[exists argument &(3)] &then &set ROOT &(3) &else &set ROOT > &- &- &if &[exists argument &(4)] &then &do &set TEST true &if &[equal &(4) lgtest] &then &trace on &all &else &if &[equal &(4) test] &then &trace &command on &end &else &set TEST false &- &if &[exists argument &(5)] &then &set RESTART_LABEL &(5) &else &set RESTART_LABEL "" &- &set ACTION &(1) &- &if &[equal &(ROOT) >] &then &do &set TOOLS >system_library_tools &set SC1 >system_control_1 &set UDD >user_dir_dir &set SITE >site &end &else &do &set TOOLS &(ROOT)>system_library_tools &set SC1 &(ROOT)>system_control_1 &set UDD &(ROOT)>user_dir_dir &set SITE &(ROOT)>site &end &- &goto &(ACTION) &- &- &1 - cold, cold1, cold2, reload (ACTION) &- &2 - a.hNNN &- &3 - root directory &- &4 - test flag &- &4 - (RESTART_LABEL) &- &- &1: cold and cold1 are synonymous, for the first part of coldstart &- cold2 is for the second part of coldstart &- reload stops after the first part of cold1, just before &- the contents of >system_control_1 are initialized &- &- &2: F.ANSS is the terminal line reserved for the message coordinator &- (e.g. a.h000, but may also be "otw_") &- where: &- F = FNP tag (a-h) &- A = Adaptor type (h= hsla) &- N = Adaptor number (0-2 for hsla) &- SS = Decimal subchannel number of specified adaptor &- &- &3: The third argument is the pathname of the directory to be &- used as the root directory. The test hierarhcy is built &- starting at this directory rather than off the root. &- &- &4: Specifies the type of exec_com tracing to be used. If it is &- lgtest, then both command and input tracing is done. If &- it is test, then only command tracing is done. &- &- &5: the fifth argument allows the first part of coldstart to be &- restarted at an arbitrary point, after it has aborted for some &- reason. (Coldstart can not be restarted from the beginning because &- it assumes the segments that it creates do not exist yet, and the &- first " already exists; do you want to delete it?" question &- would eat the rest of the exec_com, looking for a "yes" or "no" &- answer (we run with &attach on all the time)). &- &- To restart, do the following: &- 1) Fix the problem that caused the abort. &- 2) Optionally, re-execute the command that aborted. &- 3) Choose a spot, either before or after the command that aborted, &- at which to restart. &- 4) Edit >tools>asu.ec, inserting some label at the chosen restart &- point. A label of the form: &label restart_ is suggested, &- to avoid possible conflicts with existing labels. Note: if there &- is an existing label at or before the chosen restart point, and &- it is certain that any intervening commands will not ask any &- questions as a result of being executed twice, then the existing &- label can be used, avoiding the need to edit asu.ec. &- 5) change_wdir to the directory that should be the current working &- directory at the chosen restart point (read asu.ec to determine &- this). &- 6) ec >tools>asu Arg1 Arg2 "" ""