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