1 &version 2
   2 &- ***********************************************************
   3 &- *                                                         *
   4 &- * Copyright, (C) Honeywell Bull Inc., 1987                *
   5 &- *                                                         *
   6 &- * Copyright, (C) Honeywell Information Systems Inc., 1982 *
   7 &- *                                                         *
   8 &- * Copyright (c) 1972 by Massachusetts Institute of        *
   9 &- * Technology and Honeywell Information Systems, Inc.      *
  10 &- *                                                         *
  11 &- ***********************************************************
  12 &-
  13 &trace off
  14 &goto &ec_name
  15 &-
  16 &-        ACCOUNTING COLD START SECTION, FOR INITIALIZING SYSTEM FILES
  17 &-                            AFTER A "boot -cold".
  18 &-
  19 &-        UP TO DATE AS OF ANSWERING SERVICE 17.0 (MR12.1)
  20 &-
  21 &-        Modified by T. Casey, June 1976, for MR4.0
  22 &-        Modified by T. Casey, December 1976, for MR5.0
  23 &-        Modified by T. Casey and B. Greenberg, September 1977 for MR6.0
  24 &-        Modified by F. W. Martinson, January 1978 for MR7.0
  25 &-        Modified by C. Hornig, August 1979, for MR8.0
  26 &-        Modified by T. Casey, February 1980, for MR8.0
  27 &-        Modified by R. Holmstedt, July 1981, for MR9.0
  28 &-        Modified by F. W. Martinson, August 1981, for MR9.0 final changes
  29 &-        Modified by R. Holmstedt, May, 1982, for MR10.0
  30 &-        Modified by G. Palter, October 1983, to create the mail table
  31 &-           (MR10.2)
  32 &-        Modified by R. Holmstedt, Nov. 1983, for final changes.
  33 &-        Modified 84-09-21 by E. Swenson for MR11, A.S. 14.2.
  34 &-        Modified 1984-12-11 by BIM for new value.
  35 &-        Modified 1984-01-28 by Steve Herbst, preregister and give
  36 &-                  necessary access to Data_Management.Daemon.
  37 &-        Modified 1985-03-21 by E. Swenson to use set_acl instead of
  38 &-                  ms_set_acl to avoid warning messages.  Note that the
  39 &-                  current AS version is 16.1.
  40 &-        Modified 1985-03-29 by E. Swenson to create the directory
  41 &-                  >system_control_1>mc_acs.
  42 &-        Modified 1985-04-23 by E. Swenson to make Data_Management setup
  43 &-                  work.
  44 &-        Modified 1985-05-05 by Art Beattie to correct minor bugs.
  45 &-
  46 &-
  47 &- HISTORY COMMENTS:
  48 &-  1) change(1987-08-28,Lippard), approve(1987-02-09,PBF7616),
  49 &-     audit(1987-08-28,Farley), install(1987-09-01,MR12.1-1095):
  50 &-     Modified to create and set_acl on set_proc_required.acs (in
  51 &-     >sc1>admin_acs).
  52 &-  2) change(2016-01-20,Swenson), approve(2016-01-20,MCR10007),
  53 &-     audit(2016-04-03,GDixon), install(2016-04-04,MR12.6e-10007):
  54 &-     Fixed acct_start_up.ec to give w access to >sc1>syserr_log>** and
  55 &-     >sc1>as_logs>** to *.SysAdmin and to set up IACLs on these directories
  56 &-     so that future log segments have the required access to allow
  57 &-     move_log_segments to work.
  58 &-  3) change(2016-12-27,Swenson), approve(2016-12-27,MCR10018),
  59 &-     audit(2016-12-27,GDixon), install(2016-12-27,MR12.6f-0005):
  60 &-     Fixed typo in message regarding completion of SAT installation.
  61 &-                                                      END HISTORY COMMENTS
  62 &-
  63 &-
  64 &- ---------------------------------------------------------------------------
  65 &-                            U T I L I T Y   F U N C T I O N S
  66 &-
  67 &-        These exec_com "subroutines" are placed at the beginning of the
  68 &-        segment for efficiency, since exec_com performs a linear search of
  69 &-        the segment, from the beginning, to find the label, when executing
  70 &-        the &goto &ec_name at the beginning of the segment.
  71 &- ---------------------------------------------------------------------------
  72 &-
  73 &label make_dir
  74 &trace off
  75 &if &[not [exists directory &(1)]]
  76 &then &do
  77    create_dir &(1)
  78    &if &[exists argument &(3)]
  79    &then &do
  80       move_quota &1 &3
  81       &if &[equal [wd] >] &then move_dir_quota &(1) &(3)
  82       &if &[equal [wd] >udd] &then move_dir_quota &(1) &(3)
  83       &if &[equal [wd] >user_dir_dir] &then move_dir_quota &(1) &(3)
  84    &end
  85 &end
  86 &- Set the ACL appropriately
  87 set_acl &(1) sma *.SysDaemon sma *.SysAdmin &f4
  88 &- Get rid of redundant acl term for Initializer.SysDaemon
  89 delete_acl &(1) -brief
  90 set_iacl_seg &(1) rw *.SysAdmin
  91 set_iacl_dir &(1) sma *.SysAdmin
  92 &- Add the specified name
  93 &if &[not [equal x x&(2)]]
  94 &then &if &[not [exists entry &2]] &then add_name &(1) &(2)
  95 &-
  96 &quit
  97 &-
  98 &- ------------------------------------------------------------
  99 &-
 100 &label dir_addname
 101 &trace off
 102 &- USAGE ec &ec_dir>dir_addname PRIMARY_NAME ADDITIONAL_NAMES
 103 &-                               &1           &f2
 104 &-
 105 &if &[exists directory &(1)]
 106 &then &do
 107    &if &[exists argument &(2)]
 108    &then add_name &(1) &f(2) -brief
 109 &end
 110 &else &print (asu.ec): directory &1 not found.  Unable to add names to it.
 111 &quit
 112 &-
 113 &- add_project:  This entry will create one project with the specified
 114 &-   name and other information.  It calls new_proj to create the project.
 115 &-
 116 &label add_project
 117 &trace off
 118 &if &[not [exists argument &(6)]] &then &do
 119     &print (add_project.ec): Usage: ec add_project Name Alias Title Quota Attributes Min_Ring
 120     &quit
 121 &end
 122 &set NAME &(1)
 123 &set ALIAS &(2)
 124 &set TITLE "&(3)"
 125 &set QUOTA &(4)
 126 &-
 127 &if &[equal &r(5) ""]
 128    &then &set ATTRIBUTES ""
 129 &else &set ATTRIBUTES &(5)
 130 &-
 131 &set MIN_RING &(6)
 132 &attach
 133 new_proj &(NAME)
 134 &- Title
 135 &(TITLE)
 136 &- Investigator
 137 System Administration
 138 &- Investigator Address
 139 System Administration
 140 &- Supervisor
 141 =
 142 &- Phone
 143 unknown_phone
 144 &- Account
 145 nonbill
 146 &- req
 147 nonbill
 148 &- amount
 149 
 150 &- cutoff
 151 
 152 &- billing name
 153 System Administration
 154 &- Billing Address
 155 System Administration
 156 &- Alias
 157 &(ALIAS)
 158 &- Administrator
 159 
 160 &- abs-max-fg-cpu
 161 
 162 &- auth
 163 system_low
 164 &- audit
 165 
 166 &- quota
 167 &(QUOTA)
 168 &- dir_quota
 169 
 170 &- rate structure
 171 
 172 &- group
 173 System
 174 &- groups
 175 
 176 &- Attributes
 177 &(ATTRIBUTES)
 178 &- grace
 179 
 180 &- min_ring
 181 &(MIN_RING)
 182 &- max_ring
 183 
 184 &- pdir_quota
 185 1000
 186 &- max_fg
 187 
 188 &- max_bg
 189 
 190 &- review?
 191 no
 192 &- project dir LV
 193 
 194 &- Users (add a dummy, we will replace the PMF later)
 195 SA1
 196 .
 197 &detach
 198 &quit
 199 &-
 200 &- add_person:  This entry adds a user_id to the PNT by calling new_user.
 201 &-
 202 &label add_person
 203 &trace off
 204 &if &[not [exists argument &(3)]]
 205 &then &do
 206    &print (asu.ec (add_person.ec)):  Syntax is:
 207    &print ec add_person Personid Default_Project Description {Password}
 208    &quit
 209 &end
 210 &-
 211 &if &[not [exists argument &(4)]]
 212    &then &set PASSWORD ""
 213    &else &set PASSWORD &(4)
 214 &-
 215 &attach
 216 new_user
 217 &- Enter full user name (Last, First I.)
 218 *&(3)
 219 &- Enter mailing address
 220 c/o System Administration
 221 &- Enter programmer number or "none"
 222 none
 223 &- Enter notes
 224 Default user
 225 &- Enter default project id or "none"
 226 &(2)
 227 &- Password
 228 &(PASSWORD)
 229 &- Password Again
 230 &(PASSWORD)
 231 &- Network Input Password
 232 
 233 &- Password Again
 234 
 235 &- Please suggest a userid for <user name>
 236 &(1)
 237 &- Userid assigned is <userid>
 238 &- Is this ok?
 239 yes
 240 &- More users to add?
 241 no
 242 &detach
 243 &quit
 244 &-
 245 &- edit_ssu:  This entry edits the system_start_up.ec to reflect the
 246 &-   use of a message coordinator terminal.  It is only called if
 247 &-   a message coordinator channel has been specified in the call
 248 &-   to acct_start_up.ec.
 249 &-
 250 &label edit_ssu
 251 &trace off
 252 &if &[not [exists argument &(2)]]
 253 &then &do
 254    &print (asu.ec): Syntax is:
 255    &print (asu.ec): ec edit_ssu ssu_path mc_channel
 256    &quit
 257 &end
 258 &if &[not [exists entry &(1)]]
 259 &then &do
 260    &print (asu.ec): System_start_up.ec segment &1 not found.
 261    &quit
 262 &end
 263 &set SSU_PATH &(1)
 264 &set MC_CHANNEL &(2)
 265 &attach
 266 qedx
 267 r &(SSU_PATH)
 268 /^&AMP sc_command accept a.h000/a
 269 sc_command accept &(MC_CHANNEL)
 270 sc_command redefine default_vcons otw_ tty &(MC_CHANNEL)
 271 \f
 272 /^sc_command define scc tty otw_/s/otw_/&(MC_CHANNEL)/
 273 /^sc_command define asc tty otw_/s/otw_/&(MC_CHANNEL)/
 274 /^sc_command define ioc tty otw_/s/otw_/&(MC_CHANNEL)/
 275 /^sc_command define bkc tty otw_/s/otw_/&(MC_CHANNEL)/
 276 w
 277 q
 278 &detach
 279 &quit
 280 &-
 281 &- ^L
 282 &-
 283 &- acct_start_up: This entry is the driver for the accounting startup
 284 &-   procedure.  It sets up the directories off the root, sets up
 285 &-   >system_control_1, >udd>SysAdmin>admin, >udd>SysAdmin>library,
 286 &-   and other directories necessary for running a service Multics.
 287 &-   It registers various projects and various userids necessary for
 288 &-   proper running of Multics.
 289 &-
 290 &label acct_start_up
 291 &label asu
 292 &print (asu.ec): Multics Accounting Startup (version of 87-08-28 for MR12.1)
 293 &if &[not [exists argument &(1)]]
 294 &then &do
 295           &print (asu.ec): Syntax is:
 296           &print (asu.ec): ec asu [cold | cold2] channel
 297           &quit
 298 &end
 299 &-
 300 &if &[exists argument &(2)]
 301 &then &set MC_CHANNEL &(2)
 302 &else &set MC_CHANNEL otw_
 303 &-
 304 &if &[exists argument &(3)]
 305 &then &set ROOT &(3)
 306 &else &set ROOT >
 307 &-
 308 &-
 309 &if &[exists argument &(4)]
 310 &then &do
 311       &set TEST true
 312       &if &[equal &(4) lgtest]
 313       &then &trace on &all
 314       &else &if &[equal &(4) test]
 315       &then &trace &command on
 316 &end
 317 &else &set TEST false
 318 &-
 319 &if &[exists argument &(5)]
 320 &then &set RESTART_LABEL &(5)
 321 &else &set RESTART_LABEL ""
 322 &-
 323 &set ACTION &(1)
 324 &-
 325 &if &[equal &(ROOT) >]
 326 &then &do
 327    &set TOOLS >system_library_tools
 328    &set SC1 >system_control_1
 329    &set UDD >user_dir_dir
 330    &set SITE >site
 331 &end
 332 &else &do
 333    &set TOOLS &(ROOT)>system_library_tools
 334    &set SC1 &(ROOT)>system_control_1
 335    &set UDD &(ROOT)>user_dir_dir
 336    &set SITE &(ROOT)>site
 337 &end
 338 &-
 339 &goto &(ACTION)
 340 &-
 341 &-        &1 - cold, cold1, cold2, reload (ACTION)
 342 &-        &2 - a.hNNN
 343 &-        &3 - root directory
 344 &-        &4 - test flag
 345 &-        &4 - <restart label> (RESTART_LABEL)
 346 &-
 347 &-  &1:   cold and cold1 are synonymous, for the first part of coldstart
 348 &-        cold2 is for the second part of coldstart
 349 &-        reload stops after the first part of cold1, just before
 350 &-                the contents of >system_control_1 are initialized
 351 &-
 352 &-  &2:   F.ANSS is the terminal line reserved for the message coordinator
 353 &-        (e.g. a.h000, but may also be "otw_")
 354 &-        where:
 355 &-                  F  = FNP tag (a-h)
 356 &-                  A  = Adaptor type (h= hsla)
 357 &-                  N  = Adaptor number (0-2 for hsla)
 358 &-                  SS = Decimal subchannel number of specified adaptor
 359 &-
 360 &-  &3:   The third argument is the pathname of the directory to be
 361 &-        used as the root directory.  The test hierarhcy is built
 362 &-        starting at this directory rather than off the root.
 363 &-
 364 &-  &4:   Specifies the type of exec_com tracing to be used.  If it is
 365 &-        lgtest, then both command and input tracing is done.  If
 366 &-        it is test, then only command tracing is done.
 367 &-
 368 &-  &5:   the fifth argument allows the first part of coldstart to be
 369 &-        restarted at an arbitrary point, after it has aborted for some
 370 &-        reason. (Coldstart can not be restarted from the beginning because
 371 &-        it assumes the segments that it creates do not exist yet, and the
 372 &-        first "<thing> already exists; do you want to delete it?" question
 373 &-        would eat the rest of the exec_com, looking for a "yes" or "no"
 374 &-        answer (we run with &attach on all the time)).
 375 &-
 376 &-        To restart, do the following:
 377 &-        1) Fix the problem that caused the abort.
 378 &-        2) Optionally, re-execute the command that aborted.
 379 &-        3) Choose a spot, either before or after the command that aborted,
 380 &-           at which to restart.
 381 &-        4) Edit >tools>asu.ec, inserting some label at the chosen restart
 382 &-           point. A label of the form: &label restart_<name> is suggested,
 383 &-           to avoid possible conflicts with existing labels.  Note: if there
 384 &-           is an existing label at or before the chosen restart point, and
 385 &-           it is certain that any intervening commands will not ask any
 386 &-           questions as a result of being executed twice, then the existing
 387 &-           label can be used, avoiding the need to edit asu.ec.
 388 &-        5) change_wdir to the directory that should be the current working
 389 &-           directory at the chosen restart point (read asu.ec to determine
 390 &-           this).
 391 &-        6) ec >tools>asu Arg1 Arg2 "" "" <label>
 392 &-           e.g., ec >t>asu cold a.h000 "" "" restart_1
 393 &-           to restart at the inserted label &label restart_1.
 394 &-
 395 &- ============================================================================
 396 &-
 397 &label cold
 398 &label cold1
 399 &label part1
 400 &label reload
 401 &-
 402 &if &[equal &(MC_CHANNEL) otw_] &then &goto have_init_line
 403 &if &[not [equal [length &(MC_CHANNEL)] 6]] &then &goto illegal_line
 404 &if &[not [equal [substr &(MC_CHANNEL) 2 1] .]] &then &goto illegal_line
 405 &if &[equal [index abcdefgh [substr &(MC_CHANNEL) 1 1]] 0]
 406 &then &do
 407           &print (asu.ec): Illegal FNP tag specified for initializer terminal line, &(MC_CHANNEL)
 408           &quit
 409 &end
 410 &if &[not [equal [substr &(MC_CHANNEL) 2 2] .h]]
 411 &then &do
 412 &label illegal_line
 413           &print (asu.ec): &(MC_CHANNEL) must of form "F.ANSS" or be "otw_"
 414           &print (asu.ec): F  = FNP tag. (a-h)
 415           &print (asu.ec): A  = adaptor type (h = hsla)
 416           &print (asu.ec): N  = Adaptor no. (0-2 for hsla)
 417           &print (asu.ec): SS = decimal subchan number
 418           &quit
 419 &end
 420 &-
 421 &if &[equal [index 012 [substr &(MC_CHANNEL) 4 1]] 0]
 422 &then &do
 423           &print (asu.ec): Illegal HSLA adapter number specified for initializer terminal line, &(MC_CHANNEL)
 424           &quit
 425 &end
 426 &-
 427 &if &[greater [substr &(MC_CHANNEL) 5 2] 31]
 428 &then &do
 429           &print (asu.ec): Illegal HSLA subchannel specified for initializer terminal line, &(MC_CHANNEL)
 430           &quit
 431 &end
 432 &-
 433 &label have_init_line
 434 &-
 435 &if &[exists argument &(RESTART_LABEL)]
 436 &then &do
 437           &print (asu.ec): will restart at label "&(RESTART_LABEL)"
 438           &print (asu.ec): your working directory is:
 439           pwd
 440           &attach
 441           &goto &(RESTART_LABEL)
 442 &end
 443 &-
 444 &- This section is to be run from the initializer console when the system
 445 &- comes to console level after the cold boot. You should be in ring 4 at
 446 &- this point, as a result of a "standard" command to the ring-1 environment
 447 &- and in the root directory.  In the "test" mode, the "root" is wdir at the
 448 &- start of execution.
 449 &-
 450 &attach
 451 &-
 452 change_wdir &(ROOT)
 453 &-
 454 &print (asu.ec): Root segment quota is:
 455 get_quota
 456 &print (asu.ec): Root directory quota is:
 457 get_dir_quota
 458 &-
 459 &print (asu.ec): Setting up directories off the root
 460 &-
 461 &- First, put additional names onto directories reloaded from the
 462 &- distribution tapes.
 463 ec &ec_dir>dir_addname system_library_standard standard sss SSS
 464 &+ system_library_languages languages lang LANG
 465 ec &ec_dir>dir_addname system_library_tools tools t TOOLS T
 466 ec &ec_dir>dir_addname system_library_obsolete obsolete obs OBS
 467 ec &ec_dir>dir_addname system_library_tandd firmware firm
 468 &-
 469 &- Now, create some more directories
 470 &-
 471 ec &ec_dir>dir_addname system_control_1 sc1 system_control_dir
 472 move_quota system_control_1 5000
 473 set_acl system_control_1 sma *.SysAdmin s *.*.* -rp
 474 set_iacl_dir system_control_1 sma *.SysAdmin s *.*.*
 475 set_iacl_seg system_control_1 rw *.SysAdmin
 476 &-
 477 ec &ec_dir>make_dir user_dir_dir udd 20000
 478 set_acl user_dir_dir sma *.SysAdmin s *.*.* -rp
 479 set_iacl_dir user_dir_dir sma *.SysAdmin
 480 set_iacl_seg user_dir_dir rw *.SysAdmin
 481 &-
 482 ec &ec_dir>make_dir documentation doc 1500
 483 set_acl documentation sma *.SysAdmin s *.*.* -rp
 484 set_iacl_dir documentation sma *.SysAdmin s *.*.*
 485 set_iacl_seg documentation r *.*.*
 486 &-
 487 ec &ec_dir>make_dir library_dir_dir ldd 30000
 488 set_acl library_dir_dir sma *.SysAdmin s *.*.* -rp
 489 set_iacl_dir library_dir_dir sma *.SysAdmin s *.*.*
 490 set_iacl_seg library_dir_dir r *.*.*
 491 &-
 492 ec &ec_dir>make_dir daemon_dir_dir ddd 2000
 493 set_acl daemon_dir_dir sma *.SysAdmin sma *.Daemon s *.*.* -rp
 494 set_iacl_dir daemon_dir_dir sma *.SysAdmin sma *.Daemon
 495 set_iacl_seg daemon_dir_dir rw *.SysAdmin
 496 &-
 497 ec &ec_dir>make_dir site "" 5000
 498 set_acl site sma *.SysAdmin s *.*.* -rp
 499 set_iacl_seg site r *.*.*
 500 set_iacl_dir site s *.*.*
 501 &-
 502 ec &ec_dir>make_dir dumps "" 5000
 503 set_acl dumps sma *.SysAdmin sma *.Daemon -rp
 504 set_iacl_dir dumps sma *.SysAdmin
 505 set_iacl_seg dumps rw *.SysAdmin rw *.Daemon
 506 &-
 507 change_wdir dumps
 508 ec &ec_dir>make_dir save_pdirs saved_pdirs
 509 set_acl save_pdirs sma *.SysAdmin -rp
 510 set_iacl_seg save_pdirs rw *.SysAdmin
 511 &-
 512 change_wdir &(ROOT)
 513 &-
 514 &- ***** in case this installation did not buy the unbundled software.
 515 ec &ec_dir>make_dir system_library_unbundled unbundled 7000
 516 ec &ec_dir>dir_addname system_library_unbundled unb UNB
 517 set_acl system_library_unbundled sma *.SysAdmin s *.*.* -rp
 518 &-
 519 &- ***** also avoid trouble caused by >am not existing
 520 ec &ec_dir>make_dir system_library_auth_maint auth_maint 1000
 521 ec &ec_dir>dir_addname system_library_auth_maint am
 522 set_acl system_library_auth_maint sma *.SysAdmin s *.*.* -rp
 523 &-
 524 &- ***** make directory for 3rd party software *****
 525 ec &ec_dir>make_dir system_library_3rd_party sl3p 1000
 526 set_acl system_library_3rd_party sma *.SysAdmin s *.*.* -rp
 527 &-
 528 &- Set default homedir for initializer if not "test" mode
 529 &if &[not &(TEST)]
 530    &then change_default_wdir system_control_1
 531 &-
 532 change_wdir documentation
 533 ec &ec_dir>make_dir info_segments info
 534 set_acl info_segments sma *.SysAdmin s *.*.* -rp
 535 set_iacl_seg info_segments r *.*.*
 536 &-
 537 ec &ec_dir>make_dir iml_info
 538 set_acl iml_info sma *.SysAdmin s *.*.* -rp
 539 set_iacl_seg iml_info r *.*.*
 540 &-
 541 change_wdir &(SITE)
 542 ec &ec_dir>make_dir mail_system_dir mail_system 0
 543 ec &ec_dir>dir_addname mail_system_dir mlsys
 544 set_acl mail_system_dir sma *.SysAdmin s *.*.* -rp
 545 set_iacl_seg mail_system_dir r *.*.*
 546 set_iacl_dir mail_system_dir s *.*.*
 547 &-
 548 change_wdir &(ROOT)
 549 &-
 550 &print (asu.ec): Setting up directories off daemon_dir_dir
 551 change_wdir daemon_dir_dir
 552 ec &ec_dir>make_dir cards card_pool 500
 553 set_acl cards sma *.SysAdmin s *.*.* -rp
 554 ec &ec_dir>make_dir io_daemon_dir idd
 555 set_acl idd sma *.SysAdmin s *.*.* -rp
 556 &-
 557 change_wdir io_daemon_dir
 558 &print (ssu.ec): Creating iod_tables.iodt
 559 copy &(TOOLS)>iod_tables.iodt -force
 560 set_acl iod_tables.iodt rw *.SysAdmin r *.*.* -rp
 561 iod_tables_compiler iod_tables
 562 set_acl iod_tables r *.*.* -rp
 563 copy iod_tables iod_working_tables -force
 564 set_acl iod_working_tables r *.*.* -rp
 565 create_daemon_queues -dr [wd]
 566 set_acl printer_(1 2 3).ms adros *.SysDaemon.* adros *.SysAdmin aros *.*.* -rp
 567 set_acl punch_(1 2 3).ms adros *.SysDaemon.* adros *.SysAdmin aros *.*.* -rp
 568 &-
 569 &print (asu.ec): Setting up directories off user_dir_dir
 570 change_wdir &(UDD)
 571 &-
 572 &- Note that addnames will be placed on these directories automatically
 573 &-  by new_proj later on.
 574 &-
 575 ec &ec_dir>make_dir SysAdmin "" 5000
 576 ec &ec_dir>make_dir SysDaemon "" 5000
 577 ec &ec_dir>make_dir Daemon "" 1000 s *.Daemon
 578 ec &ec_dir>make_dir Operator "" 100 s *.Operator
 579 ec &ec_dir>make_dir Terminals "" 10 s *.Terminals
 580 ec &ec_dir>make_dir HFED "" 5000 s *.HFED
 581 &-
 582 change_wdir &(UDD)>Daemon
 583 ec &ec_dir>make_dir Volume_Dumper vld 0
 584 set_acl Volume_Dumper sma *.SysAdmin sma Volume_Dumper.Daemon
 585 &+ sma Volume_Reloader.Daemon sma Volume_Retriever.Daemon s *.Daemon -rp
 586 set_iacl_seg Volume_Dumper rw *.SysAdmin rw Volume_Dumper.Daemon
 587 &+ rw Volume_Reloader.Daemon rw Volume_Retriever.Daemon
 588 &-
 589 change_wdir &(UDD)>Daemon>Volume_Dumper
 590 archive xf &(TOOLS)>asu_data volume_sys_vols.dump
 591 delete sys_vols.dump -force -brief
 592 rename volume_sys_vols.dump sys_vols.dump
 593 set_acl sys_vols.dump [lis] -rp
 594 &-
 595 change_wdir &(UDD)>Operator
 596 ec &ec_dir>make_dir Operator
 597 set_acl Operator sma *.SysAdmin sma *.Operator -rp
 598 &-
 599 change_wdir &(UDD)>Terminals
 600 ec &ec_dir>make_dir anonymous
 601 set_acl anonymous sma *.SysAdmin sma *.Terminals -rp
 602 &-
 603 change_wdir &(UDD)>HFED
 604 ec &ec_dir>make_dir anonymous
 605 set_acl anonymous sma *.SysAdmin sma *.HFED -rp
 606 &-
 607 change_wdir &(UDD)>SysAdmin
 608 ec &ec_dir>make_dir SA1 sa1
 609 set_acl SA1 sma *.SysAdmin -rp
 610 set_iacl_seg SA1 rw *.SysAdmin
 611 &-
 612 ec &ec_dir>make_dir Repair
 613 set_acl Repair sma *.SysAdmin -rp
 614 set_iacl_seg Repair rw *.SysAdmin
 615 &-
 616 change_wdir &(UDD)>SysDaemon
 617 ec &ec_dir>make_dir IO
 618 ec &ec_dir>make_dir Backup
 619 ec &ec_dir>make_dir Dumper
 620 ec &ec_dir>make_dir Retriever
 621 ec &ec_dir>make_dir Repair
 622 ec &ec_dir>make_dir Scavenger
 623 ec &ec_dir>make_dir Salvager
 624 ec &ec_dir>make_dir Utility
 625 &-
 626 copy &(TOOLS)>salvager_start_up.ec Salvager>start_up.ec -force
 627 copy &(TOOLS)>scavenger_start_up.ec Scavenger>start_up.ec -force
 628 copy &(TOOLS)>utility_start_up.ec Utility>start_up.ec -force
 629 &-
 630 cwd Backup
 631 archive xf &(TOOLS)>asu_data hierarchy_sys_dirs.dump
 632 delete sys_dirs.dump -force -brief
 633 rename hierarchy_sys_dirs.dump sys_dirs.dump
 634 set_acl sys_dirs.dump rw *.SysDaemon rw *.SysAdmin -rp
 635 &-
 636 cwd &(SC1)
 637 &-
 638 &if &[equal &(ACTION) reload]
 639 &then &do
 640           &print (asu.ec): Root reload complete.
 641           &print (asu.ec): Ready for further reloads by daemons.
 642           &quit
 643 &end
 644 &-
 645 &- ^L
 646 &-
 647 &print (asu.ec): Setting up contents of system_control_1
 648 &print (asu.ec): Creating administrative directories in system_control_1
 649 &if &[exists directory pdt]
 650    &then answer yes -bf  delete pdt>** -force -brief
 651 &if &[exists directory update]
 652    &then answer yes -bf delete update>** -force -brief
 653 ec &ec_dir>make_dir pdt
 654 ec &ec_dir>make_dir heals_dir
 655 ec &ec_dir>make_dir update
 656 ec &ec_dir>make_dir volume_backup_accounts vba
 657 &-
 658 &- Set up directory for Message Coordinator ACS segments
 659 &-
 660 ec &ec_dir>make_dir mc_acs
 661 &-
 662 &- Set up ACSs for administratively controlled functions
 663 &-
 664 ec &ec_dir>make_dir admin_acs proxy
 665 change_wdir admin_acs
 666 delete ** -force -brief
 667 create absentee_proxy.acs
 668 set_acl absentee_proxy.acs e *.SysDaemon e *.SysAdmin -rp
 669 create tandd.acs
 670 set_acl tandd.acs rw *.SysAdmin -rp
 671 create sat.install.acs
 672 set_acl sat.install.acs rw *.SysAdmin -rp
 673 create cdt.install.acs
 674 set_acl cdt.install.acs rw *.SysAdmin -rp
 675 create rtdt.install.acs
 676 set_acl rtdt.install.acs rw *.SysAdmin -rp
 677 create mgt.install.acs
 678 set_acl mgt.install.acs rw *.SysAdmin -rp
 679 create bump_user.acs
 680 set_acl bump_user.acs rw Data_Management.Daemon -rp
 681 create process_termination_monitor.acs
 682 set_acl process_termination_monitor.acs rw Data_Management.Daemon -rp
 683 create communications.acs
 684 set_acl communications.acs rw *.SysDaemon rw *.SysAdmin -rp
 685 create set_proc_required.acs
 686 set_acl set_proc_required.acs rw *.SysDaemon rw *.SysAdmin rw *.SysMaint -rp
 687 set_max_length **.acs 0
 688 &-
 689 change_wdir &(SC1)
 690 &- copy default start_up.ec from tools
 691 copy &(TOOLS)>start_up.ec -force
 692 set_acl start_up.ec rw *.SysDaemon rw *.SysAdmin rw *.SysMaint r * -rp
 693 srb start_up.ec 4 5 5
 694 &- create segment necessary for running ISOLTS
 695 &if &[not [exists segment opr_query_data]]
 696    &then create opr_query_data
 697 set_acl opr_query_data rw *.SysDaemon rw *.SysAdmin rw *.HFED -rp
 698 &-
 699 &print (asu.ec): Creating message of the day and login help file
 700 archive xf &(TOOLS)>asu_data message_of_the_day login_help connect_help
 701 add_name message_of_the_day motd
 702 set_acl motd rw *.SysAdmin r *.*.* -rp
 703 &if &[not [exists link <documentation>info_segments>motd.info]]
 704    &then link motd <documentation>info_segments>motd.info
 705 &if &[not [exists link <documentation>info_segments>connect_help.info]]
 706    &then link connect_help <documentation>info_segments>connect_help.info
 707 &print (asu.ec): Creating user tables, whotab, and log segments
 708 &if &[not [exists segment answer_table]] &then create answer_table
 709 &if &[not [exists segment daemon_user_table]] &then create daemon_user_table
 710 &if &[not [exists segment absentee_user_table]]
 711    &then create absentee_user_table
 712 &if &[not [exists segment whotab]]
 713 &then &do
 714    create whotab
 715    set_acl whotab rw *.SysDaemon r *.*.* -rp
 716 &end
 717 &if &[not [exists segment log]] &then create log
 718 set_acl log r *.SysAdmin
 719 &-
 720 &- -------------------- installation_parms -------------------
 721 &-
 722 &if &[exists segment installation_parms]
 723    &then delete installation_parms -force -brief
 724 file_output [pd]>junk_
 725 ed_installation_parms
 726 default
 727 yes
 728 w
 729 q
 730 revert_output
 731 set_acl installation_parms rw *.SysDaemon rw *.SysAdmin r *.*.* -replace
 732 &-
 733 &- -------------------- system_start_up.ec -------------------
 734 &-
 735 &print (asu.ec): Creating system_start_up.ec
 736 copy &(TOOLS)>system_start_up.ec -force
 737 &if &[not [equal &(MC_CHANNEL) otw_]]
 738    &then exec_com &ec_dir>edit_ssu system_start_up.ec &(MC_CHANNEL)
 739 &-
 740 &- ------------------- admin.ec -----------------------------
 741 &-
 742 &print (asu.ec): Creating admin.ec and admin_1.ec
 743 copy &(TOOLS)>admin.ec -force
 744 copy &(TOOLS)>admin_1.ec -force
 745 &-
 746 &- ---------------------- PNT -------------------------------
 747 &-
 748 &print (asu.ec): Setting up Person Name Table (PNT)
 749 &if &(TEST)
 750    &then pnt_manager_$test [wd]
 751 &-
 752 &if &[exists entry PNT.pnt]
 753    &then delete PNT.pnt
 754 create_pnt PNT.pnt -size 1000
 755 set_acl PNT.pnt rw *.SysDaemon rw *.SysAdmin null * -replace
 756 &-
 757 change_wdir &(ROOT)
 758 &-
 759 &print (asu.ec): Setting up administrative library.
 760 exec_com &ec_dir>setup_sysadmin_lib &(ROOT) &(TEST)
 761 &-
 762 &print (asu.ec): Setting up system administration data directory
 763 exec_com &ec_dir>setup_sysadmin_admin &(ROOT) &(TEST)
 764 &-
 765 &print (asu.ec): Setting up SA1.SysAdmin
 766 change_wdir &(UDD)>SysAdmin>SA1
 767 archive xf &(TOOLS)>asu_data SA1_start_up.ec
 768 delete start_up.ec -force -brief
 769 rename SA1_start_up.ec start_up.ec
 770 set_acl start_up.ec rw *.SysAdmin -rp
 771 &-
 772 &if &[not [exists segment SA1.mbx]]
 773    &then mbcr SA1.mbx
 774 &- Following line commented out because suffix_mbx_$replace_acl
 775 &-   has a bug which blows out the system free area if called.
 776 &-
 777 &- set_acl SA1.mbx adros SA1.SysAdmin aros *.SysAdmin aos *.*.* -rp
 778 &-
 779 &print (asu.ec): Creating links under ldd for the gls command
 780 change_wdir &(ROOT)
 781 change_wdir library_dir_dir
 782 &if &[not &(TEST)]
 783    &then answer yes ec &(TOOLS)>create_gls_links
 784 &-
 785 change_wdir &(SC1)
 786 &print (asu.ec): Continue with the next step in the Installation Instructions.
 787 &print
 788 &quit
 789 &- ^L
 790 &-
 791 &- This section completes the accounting startup, by setting access for
 792 &- all users on the various segments created by the answering service
 793 &- when "multics" was typed, and installing the SAT and some PDT's, now
 794 &- that "install" is turned on.  Your environment should be in admin mode
 795 &- on the initializer process in ring 4, with your working directory set
 796 &- to >system_control_1.
 797 &-
 798 &label part2
 799 &label cold2
 800 &print (asu.ec): Now setting all access.
 801 &if &[not [exists directory rcp]] &then create_dir rcp
 802 set_acl rcp sma *.SysAdmin
 803 &-
 804 set_acl as_logs sma *.SysAdmin
 805 set_iacl_seg as_logs rw *.SysAdmin
 806 set_acl as_logs>** rw *.SysAdmin -brief
 807 &-
 808 move_quota syserr_log 1000
 809 set_acl syserr_log sma *.SysAdmin
 810 set_iacl_seg syserr_log rw *.SysAdmin
 811 set_acl syserr_log>** rw *.SysAdmin -brief
 812 &-
 813 set_acl admin_acs sma *.SysAdmin
 814 &-
 815 &- Next line sets access to all directories under the ROOT for *.SysAdmin
 816 set_acl <([dirs <**]) sma *.SysAdmin
 817 &-
 818 &if &[exists segment login_help] &then set_acl login_help r *.*.*
 819 &if &[exists segment connect_help] &then set_acl connect_help r *.*.*
 820 &if &[exists segment whotab] &then set_acl whotab r *.*.*
 821 &if &[exists segment motd] &then set_acl motd r *.*.*
 822 &if &[exists segment ttt]
 823 &then &do
 824    lsa ttt r *.*.*
 825    srb ttt 4 5 5
 826 &end
 827 &if &[exists segment rtdt]
 828 &then &do
 829   set_acl rtdt r *.*.*
 830   set_ring_brackets rtdt 4 5 5
 831 &end
 832 &- now to get the HEALS stuff going
 833 set_acl heals_dir sma *.SysDaemon.* sma *.SysAdmin.* s *.HFED.*
 834 &- in test mode the following will fail so skip if test
 835 &if &[not &(TEST)]
 836 &then &do
 837    update_heals_log
 838    set_acl heals_dir>heals_log rw *.SysDaemon.* rw *.SysAdmin.* r *.HFED.*
 839    set_acl heals_dir>heals_log_info rw *.SysDaemon.* rw *.SysAdmin.* r *.HFED.*
 840 &end
 841 &-
 842 &- Data_Management.Daemon needs access to several tables:
 843 &-
 844 set_acl >sc1>(answer_table absentee_user_table daemon_user_table)
 845 &+        r Data_Management.Daemon
 846 &-
 847 change_wdir &(UDD)>SysAdmin>admin
 848 &-
 849 &print (asu.ec): Now running daily_summary
 850 daily_summary -nosum -nocutr
 851 &-
 852 &print (asu.ec): Now installing SAT
 853 install smf.cur.sat
 854 &print (asu.ec): Pausing 10 seconds to allow completion of SAT installation
 855 pause 10
 856 &print (asu.ec): End of pause
 857 &-
 858 cwd &(SC1)
 859 &-
 860 &- set zero max length on the acs segments
 861 set_max_length rcp>**.acs 0
 862 &-
 863 set_special_password operator_admin_mode -none
 864 &print (asu.ec): Entering admin mode currently does not require a password.
 865 &print (asu.ec): To set one, type the following command line which will prompt
 866 &print (asu.ec): for the password:
 867 &print
 868 &print (asu.ec): set_special_password operator_admin_mode
 869 &print
 870 &print (asu.ec): End of accounting cold start part 2.
 871 &quit
 872 &-
 873 &label setup_sysadmin_lib
 874 &trace off
 875 &default &undefined false
 876 &-
 877 &- Arguments:       &1 = root directory
 878 &-                  &2 = test flag
 879 &if &[not &[exists argument &1]]
 880 &then &do
 881           &print (asu.ec (setup_sysadmin_lib.ec)): Argument 1 not supplied.
 882           &quit
 883 &end
 884 &-
 885 &set ROOT &1
 886 &if &[equal &(ROOT) >]
 887 &then &do
 888           &set TOOLS >system_library_tools
 889           &set UDD >user_dir_dir
 890 &end
 891 &else &do
 892           &set TOOLS &(ROOT)>system_library_tools
 893           &set UDD &(ROOT)>user_dir_dir
 894 &end
 895 &set WDIR &[wd]
 896 &-
 897 cwd &(UDD)>SysAdmin
 898 ec &ec_dir>make_dir library lib
 899 add_name library l
 900 cwd library
 901 &-
 902 &print (asu.ec): Creating sys_admin_data.
 903 &if &[not [exists segment sys_admin_data]]
 904    &then create sys_admin_data
 905 &-
 906 admin_util set b1 "INTER"
 907 admin_util set b2 "DEPARTMENT"
 908 admin_util set b3 "MAIL"
 909 admin_util set user_accts "User Accounts Office"
 910 admin_util set user_accts_addr "(address)"
 911 admin_util set user_accts_phone "(phone)"
 912 admin_util set attributes "anonymous,bumping,brief,vinitproc,vhomedir,
 913 &+nostartup,^no_primary,^no_secondary,^no_edit_only,^daemon"
 914 admin_util set group Other
 915 admin_util set grace 2880
 916 admin_util set init_ring 4
 917 admin_util set max_ring 5
 918 &-
 919 &print (asu.ec): Creating sys_admin.value.
 920 answer yes -brief value_set -pn sys_admin accounting_start_up_time [clock calendar_clock]
 921 &-
 922 &- The values specified below are schedule dependent and can be
 923 &- changed to conform to local operations.
 924 &-
 925 value_set -pn sys_admin crank_time 0300.
 926 &- NOTE that disk_time should be before crank_time
 927 value_set -pn sys_admin disk_time 0230.
 928 value_set -pn sys_admin admin_online "SA1.SysAdmin"
 929 value_set -pn sys_admin log_number 0
 930 value_set -pn sys_admin abort_crank false
 931 &-
 932 &- The value command/active function allows an arbitrary set of named values
 933 &- to be defined by value_set -pn sys_admin and later retrieved by [value_get -pn sys_admin ...].
 934 &- The settings of the following values, used to address dprinted reports
 935 &- to administrators and system programmers, are commented out to avoid
 936 &- the printing of many copies of reports addressed to fictitious people
 937 &- at a new installation. (Reports addressed to undefined values are not
 938 &- printed.)
 939 &-
 940 &- The installation is advised to examine the following, and the usage
 941 &- of these named values in master.ec (crank and disk_auto sections) and
 942 &- biller.ec,
 943 &- and set up values with appropriate names, defining the proper
 944 &- recipients of the various reports, at this installation.
 945 &-
 946 &- By default, one copy of every report produced by the above ecs
 947 &- will be dprinted addressed to "SYSTEM ADMINISTRATOR".
 948 &-
 949 value_set -pn sys_admin default_dest "SYSTEM"
 950 value_set -pn sys_admin default_addr "ADMINISTRATOR"
 951 &- value_set -pn sys_admin admin(0 1)_dest """ADMINISTRATOR"""
 952 &- value_set -pn sys_admin admin(0 1)_addr "[long_date]"
 953 &- value_set -pn sys_admin accts0_dest """USER ACCOUNTS"""
 954 &- value_set -pn sys_admin accts0_addr "[long_date]"
 955 &- value_set -pn sys_admin assurance(0 1)_dest """SYSTEM ASSURANCE"""
 956 &- value_set -pn sys_admin assurance(0 1)_addr "[long_date]"
 957 &- value_set -pn sys_admin sysprg(0 1 2)_dest """SYSTEM PROGRAMMING"""
 958 &- value_set -pn sys_admin sysprg(0 1 2)_addr "[long_date]"
 959 &- value_set -pn sys_admin director(0 1 2 3 4 5 6 7)_dest """DIRECTOR"""
 960 &- value_set -pn sys_admin director(0 1 2 3 4 5 6 7)_addr "[long_date]"
 961 &-
 962 &print (asu.ec): Creating prototype pmf for all normal projects
 963 archive xf &(TOOLS)>asu_data prototype.pmf
 964 archive xf &(TOOLS)>asu_data prototype_pmf
 965 &-
 966 &print (asu.ec): Copying master.ec, biller.ec, err.ec, and util.ec
 967 copy &(TOOLS)>(master biller err util).ec -force
 968 &-
 969 &print (asu.ec): Copying crank.absin
 970 copy &(TOOLS)>crank.absin -force
 971 add_name crank.absin dodrp.absin run.absin weekly.absin
 972 &-
 973 archive xf &(TOOLS)>asu_data daily_report.control
 974 &-
 975 &print (asu.ec): Copying other miscellaneous segments
 976 archive xf &(TOOLS)>asu_data accounts.info starname_list
 977 copy &(TOOLS)>(dds.absin *.ssl) -force
 978 &quit
 979 &-
 980 &label setup_sysadmin_admin
 981 &trace off
 982 &default &undefined false
 983 &-
 984 &- Arguments:       &1 = root directory
 985 &-                  &2 = test flag
 986 &if &[not [exists argument &1]]
 987 &then &do
 988           &print (asu.ec (setup_sysadmin_admin.ec)): Argument 1 not supplied.
 989           &quit
 990 &end
 991 &-
 992 &set ROOT &(1)
 993 &if &[exists argument &(2)]
 994    &then &set TEST &(2)
 995    &else &set TEST false
 996 &-
 997 &if &[equal &(ROOT) >]
 998 &then &do
 999           &set TOOLS >system_library_tools
1000           &set UDD >user_dir_dir
1001           &set SC1 >system_control_1
1002           &set SITE >site
1003 &end
1004 &else &do
1005           &set TOOLS &(ROOT)>system_library_tools
1006           &set UDD &(ROOT)>user_dir_dir
1007           &set SC1 &(ROOT)>system_control_1
1008           &set SITE &(ROOT)>site
1009 &end
1010 &set WDIR &[wd]
1011 &-
1012 cwd &(UDD)>SysAdmin
1013 ec &ec_dir>make_dir admin a 2000
1014 change_wdir admin
1015 &-
1016 &- Link to sys_admin_data, value_seg, prototype.pmf, prototype_pmf, master.ec
1017 &-    biller.ec, err.ec, util.ec, crank.absin, daily_report.control,
1018 &-    accounts.info, syserr_select_file, log_select_file, starname_list,
1019 &-    dds.absin
1020 &-
1021 &- Following line can be replaced with unlink ** -brief -force when available
1022 discard_output -osw error_output unlink ** -force
1023 &-
1024 link <lib>** -cpnm
1025 ec &ec_dir>make_dir history h
1026 ec &ec_dir>make_dir safe_pdts
1027 ec &ec_dir>make_dir safe_registries
1028 ec &ec_dir>make_dir HF
1029 &-
1030 &- -------------------- SAT -------------------
1031 &-
1032 &print (asu.ec): Creating working copy of the System Administrator Table (SAT)
1033 delete smf.cur.sat -force -brief
1034 create_sat smf.cur.sat
1035 set_acl smf.cur.sat rw *.SysDaemon rw *.SysAdmin null * -replace
1036 &-
1037 admin_util set uwt 10 process_overseer_
1038 admin_util set uwt 10 project_start_up_
1039 admin_util set uwt 10 >system_library_tools>iod_overseer_
1040 &-
1041 admin_util set administrator1 *.SysAdmin
1042 admin_util set administrator2 *.SysDaemon
1043 &-
1044 &print (asu.ec): Generating empty files for billing programs
1045 &if &[not [exists segment miscfile]]
1046    &then create miscfile
1047 &-
1048 delete projfile -force -brief
1049 create_projfile projfile
1050 &-
1051 delete reqfile -force -brief
1052 create_reqfile reqfile
1053 &-
1054 &- - - - - - - - - - - - - MGT - - - - - - - - - - - - -
1055 &-
1056 &print (asu.ec): Creating Master Group Table (MGT)
1057 &if &[exists segment MGT.mgt]
1058    &then delete MGT.mgt -force
1059 file_output [pd]>junk_
1060 &attach
1061 ed_mgt MGT
1062 a System 4.0
1063 w
1064 q
1065 &detach
1066 revert_output
1067 &-
1068 copy MGT.mgt &(SC1)>mgt -force
1069 set_acl &(SC1)>mgt rw Initializer.SysDaemon r *.SysAdmin -replace
1070 &if &[not [exists entry &(SC1)>master_group_table]]
1071 &then add_name &(SC1)>mgt master_group_table
1072 &-
1073 &- Create various projects
1074 &if &(TEST)
1075 &then &do
1076    pnt_manager_$test [wd]
1077    new_proj$test &(SC1) &(UDD)
1078    link &(SC1)>PNT.pnt
1079 &end
1080 &-
1081 &print (asu.ec): Creating SysAdmin, SysDaemon, Daemon, Operator, HFED,
1082 &print (asu.ec):    and Terminals project
1083 &-
1084 file_output [pd]>junk_ -ssw user_i/o
1085 exec_com &ec_dir>add_project SysAdmin sa "System Administration" 3000
1086 &+ nobump,guaranteed_login,multip,nolist,dialok 1
1087 &-
1088 exec_com &ec_dir>add_project SysDaemon sd "Privileged System Daemons" 1000
1089 &+ nobump,guaranteed_login,multip,nolist,daemon,dialok 1
1090 &-
1091 exec_com &ec_dir>add_project Daemon dmn "System Daemons" 1000
1092 &+ nobump,guaranteed_login,multip,nolist,daemon,dialok 4
1093 &-
1094 exec_com &ec_dir>add_project Operator opr "System Operators" 100 "" 4
1095 exec_com &ec_dir>add_project HFED hfed "Honeywell Field Engineering" 100 "" 4
1096 exec_com &ec_dir>add_project Terminals terms "Terminal Repair" 100 "" 4
1097 &-
1098 revert_output -ssw user_i/o
1099 &-
1100 archive xf &(TOOLS)>asu_data SysAdmin.pmf SysDaemon.pmf Daemon.pmf
1101 &+ Operator.pmf HFED.pmf Terminals.pmf
1102 &-
1103 &print (asu.ec): Installing SAT to define projects
1104 copy smf.cur.sat &(SC1)>sat -force
1105 set_acl &(SC1)>sat rw Initializer.SysDaemon rw *.SysAdmin -no_sysdaemon
1106 &+ -replace
1107 &-
1108 &print (asu.ec): Converting PMFs to PDTs for SysAdmin, SysDaemon and Daemon
1109 cv_pmf (SysAdmin SysDaemon Daemon).pmf
1110 &-
1111 &print (asu.ec): Installing PDTs for SysAdmin, SysDaemon, and Daemon
1112 copy (SysAdmin SysDaemon Daemon).pdt &(SC1)>pdt>== -force
1113 &-
1114 &print (asu.ec): Putting PMFs away into pmf.archive
1115 &if &[exists segment pmf.archive] &then delete pmf.archive -force
1116 &-
1117 archive ad pmf SysAdmin.pmf SysDaemon.pmf Daemon.pmf
1118 &-
1119 &- ------------ URF, MAIL_TABLE -----------
1120 &-
1121 &print (asu.ec): Creating URF, MAIL_TABLE with capacity of 1000 users
1122 &if &(TEST) &then new_user$new_user_test [wd]
1123 &if &(TEST) &then mail_table_priv_$test [path &(SITE)>mail_system_dir]
1124 &if &[exists entry URF]
1125    &then delete URF -force
1126 create_urf URF -size 1000
1127 &if &[exists entry &(SITE)>mail_system_dir>MAIL_TABLE]
1128    &then l_rename &(SITE)>mail_system_dir>MAIL_TABLE MAIL_TABLE.[unique]
1129 create_mail_table
1130 &-
1131 &print (asu.ec): Registering Initial Users
1132 &-
1133 file_output [pd]>junk_
1134 ec &ec_dir>add_person Backup SysDaemon "System, Incremental Backup"
1135 ec &ec_dir>add_person Data_Management Daemon "System, Data Management Daemon"
1136 ec &ec_dir>add_person Dumper SysDaemon "System, Complete Dump"
1137 ec &ec_dir>add_person IO SysDaemon "System, Bulk IO"
1138 ec &ec_dir>add_person Operator Operator "System, Operator"
1139 ec &ec_dir>add_person Repair SysAdmin "System, Repair" repair
1140 ec &ec_dir>add_person Retriever SysDaemon "System, Retrievals"
1141 ec &ec_dir>add_person SA1 SysAdmin "System, Restricted Administrator"
1142 ec &ec_dir>add_person Salvager SysDaemon "System, Salvager"
1143 ec &ec_dir>add_person Scavenger SysDaemon "System, Scavenger"
1144 ec &ec_dir>add_person Utility SysDaemon "System, Monitor cleanup"
1145 ec &ec_dir>add_person Volume_Dumper Daemon "System, Volume Backup"
1146 ec &ec_dir>add_person Volume_Reloader Daemon "System, Volume Reload"
1147 ec &ec_dir>add_person Volume_Retriever Daemon "System, Volume Retrieve"
1148 &-
1149 &- Set must_change flag on for Repair since set a password for it
1150 &-   Also give Repair the operator attribute so that it can execute
1151 &-   operator commands.
1152 &-
1153 &attach
1154 new_user$cga Repair flags
1155 must_change,operator
1156 &detach
1157 &-
1158 revert_output
1159 delete [pd]>junk_
1160 &-
1161 &- -------------------- today.use_totals -------------------
1162 &-
1163 &print (asu.ec): Creating use_totals segments
1164 reset_use_totals today.use_totals daily_report.control
1165 reset_use_totals yesterday.use_totals daily_report.control
1166 reset_use_totals last_month.use_totals daily_report.control
1167 &-
1168 &- -------------------- Terminal Type File --------------------
1169 &-
1170 &print (asu.ec): Creating and installing Terminal Type File (TTF)
1171 copy &(TOOLS)>TTF.ttf -force
1172 cv_ttf TTF.ttf
1173 copy TTF.ttt &(SC1)>ttt -force
1174 set_acl &(SC1)>ttt rw Initializer.SysDaemon r * -replace
1175 srb &(SC1)>ttt 4 5 5
1176 &-
1177 &- -------------------- Channel Master File --------------------
1178 &-
1179 &print (asu.ec): Creating and installing Channel Master File (CMF)
1180 copy &(TOOLS)>CMF.cmf -force
1181 cv_cmf CMF.cmf
1182 copy CMF.cdt &(SC1)>cdt -force
1183 set_acl &(SC1)>cdt rw Initializer.SysDaemon r *.SysAdmin -replace
1184 &-
1185 &- ------------- Resource Type Master File -------------
1186 &-
1187 &print (asu.ec): Creating and installing Resource Type Master File (RTMF)
1188 copy &(TOOLS)>RTMF.rtmf -force
1189 cv_rtmf RTMF.rtmf
1190 copy RTMF.rtdt &(SC1)>rtdt -force
1191 set_acl &(SC1)>rtdt rw Initializer.SysDaemon r * -replace
1192 srb &(SC1)>rtdt 4 5 5
1193 &-
1194 &quit
1195 &-
1196 &- ***** END OF asu.ec *****
1197 &-
1198 &label &(1)
1199 &print (asu.ec): Illegal argument &(1)
1200 &quit