P@~LT020.AްLT020.A%BACKUP/LOG/VERIFY *.* [-]LT020.A/SAVE DENTON_D 0:+>IV5.5 _BPOUSA::  _HSC005$DUA81: V5.5 ~  )*[USERS.DENTON_D.DECUS.LT.A]CERBERUS.COM;9+,'#./0 4L-Z z0123KPWO 56NXW7cFH89@dHG0HJ$ VERIFY = 'F$VERIFY("No")'$ ! Cerberus.Com I$ ! Interface procedure betweek CERBERUS and the users command procedureG$ ! This procedure saves and restores the users environment around the'$ ! invoked procedure and traps exits.F$ ! This is accomplished by removing all symbols, saving the previousF$ ! privileges, setting a safeguard control_Y action, masking off theK$ ! message suppression bit, and restoring the old privileges and symbols.$ !'$ Set Symbol /Scope=(NoLocal ,NoGlobal) $ Set NoOn=$ !On Control_Y Then Set NoControl_Y - removed by DLD 1/15/92!$ On Control_y Then Goto _Exiting($ Current_Privs = F$Getjpi("","CURPRIV")$!+K$! Make some changes to allow logical name search lists in the P1 parameterL$! and make sure the any logical names used in the P1 specification come off$! the system table only.$!-B$!! P1 = F$PARSE(P1,".COM",,) - Removed to allow lnm search lists.A$ define/user/table=lnm$process_directory lnm$file_dev lnm$system?$ @'P1' "''P2'" "''P3'" "''P4'" "''P5'" "''P6'" "''P7'" "''P8'" $ _Exiting:'$ STATUS = $STATUS .and..not.%X10000000"$ Set Symbol /Scope=(Local,Global)$ Set Process /Priv=Noall%$ Set Process /Priv=('Current_Privs')$!G$! It shall be assumed that the CERBERUS image is in the same directory%$! as the CERBERUS command procedure.$!($ This_Proc = F$Environment("Procedure"),$ Image_Spec = F$Parse(This_Proc,,,"Device")<$ Image_Spec = Image_Spec + F$Parse(This_Proc,,,"Directory")7$ Image_Spec = Image_Spec + F$Parse(This_Proc,,,"Name")$ Cerberus = "$ ''Image_Spec'"$ Cerberus /off$ Set Control=Y$ VERIFY = F$VERIFY(VERIFY) $ Exit STATUS**[USERS.DENTON_D.DECUS.LT.A]CERBERUS.OBJ;34+,@Z. /0 4 -Z z0123KPWO 5 6HӁK7FH89@dHG0HJ3CERBERUS0116-Jan-1992 13:0316-Jan-1992 13:03VAX FORTRAN V5.6-119CERBERUSPSys$library:cerberus.comSecurity alarm on !AS / Executing CERBERUS!/!_Time:!_!_!AS!/!_PID:!_!_!XL!/!_User Name:!_!AS!/!_File:!_!_!ASSecurity alarm on !AS / Attempt to execute CERBERUS aborted!/!_Time:!_!_!AS!/!_PID:!_!_!XL!/!_User Name:!_!AS!/!_File:!_!_!AS!/!_Status:!_!_Command File Execution UnauthorizedSecurity alarm on !AS / Attempt to execute CERBERUS aborted!/!_Time:!_!_!AS!/!_PID:!_!_!XL!/!_User Name:!_!AS!/!_File:!_!_!AS!/!_Status:!_!_Error opening the privileged command fileCommand file name: /OFF%Cer-CMK%Cer-JPI$_PID%Cer-JPI$PRCNAM%Cer-JPI$USERNAME%Cer-LIB$SYS_ASCTIM%Cer-LIB$GETSYI%Cer-CHK_ACCESS %Cer-Rsa&Fid%Cer-SYS$FAO%Cer-SEND_MSGSYSTEMSSTAFF%Cer-ASCTOID%CER-CMK%Cer-LIB$DO_COMMAND%Cer-ENA_CTRLASCTIMSYS$FAOSEND_MSG Qio error on IO$_ACCESS, J = IOSB =, %Cer-F-Invalid_Own, Unauthorized input file+ %CER-F-OPNERR, error opening command file )CERBERUSPp xwvv $ LIB$GET_FOREIGN@DLEXE_PPRVl IFERR@ && IFERR@44 IFERR@ DD IFERR@V$V IFERR@ jTj IFERR@hp CHK_ACCESS@zz IFERR@  IFERR@  2p  4p@l1|1 SYS$FAO@  IFERR@  IFERR@  SYS$ASCTOID@  IFERR@EXE_PPRV8 IFERR@L\ IFERR@ x IFERR@ IFERR@ SYS$FAO@ IFERR@   IFERR@QPK[XP`ZP`\P>8``P`dLIB$GET_FOREIGNPPxtSYS$EXITT˰ˀˌ LIB$INDEXPPTT˘ SYS$CMKRNLP^˰ˬIFERR^FOR$EXIT˸ LIB$GETJPIP^IFERR^ LIB$GETJPIP^ IFERR^ LIB$GETJPIP^@<IFERR^HLIB$SYS_ASCTIMP^hdIFERR^p LIB$GETSYIP^˘˔IFERR^XP`YP`\P`2PPˠˤ˰ CHK_ACCESSP^IFERR^ LIB$INDEXPЫPP˰ FID_AND_RSAP IFERR2\\˯  SYS$ASSIGNP4FOR$EXIT2L<@XpDSYS$QIOWPRR˨ FOR$WRITE_SFR FOR$IO_L_V? FOR$IO_X_DA FOR$IO_END2ˈ<|ˀSYS$QIOW2VV˼Ы 2WW\˯SYS$FAOP^IFERR^PP  LIB$SIGNAL2P,Pˮ `P2PPPXSEND_MSGP^0,IFERR^@ SYS$ASCTOIDP^\XIFERR^8k1d SYS$CMKRNLP^|xIFERR^X«^(˰nЫY ~Y^(nY@~YY˄YX^ˈˌLIB$DO_COMMANDX^P^ˠ˜IFERR^˨LIB$ENABLE_CTRLP^˼˸IFERR^1@  FOR$WRITE_SF FOR$IO_ENDLIB$SYS_ASCTIMP^IFERR^VЫ $W\˯ SYS$FAOP^<8IFERR^2P,Pˮ `P2PPPDXHLSEND_MSGP^`\IFERR^FOR$EXIT KCERBERUSEXE_PPRVLIB$GET_FOREIGN LIB$SIGNALLIB$ENABLE_CTRLSYS$QIOWLIB$DO_COMMAND SYS$CMKRNL SYS$ASCTOID SYS$ASSIGNSYS$FAO LIB$GETJPI LIB$GETSYILIB$SYS_ASCTIMIFERRSEND_MSG CHK_ACCESS FID_AND_RSASYS$EXIT LIB$INDEXFOR$EXIT-$CODE$PDATA0 $LOCAL FOR$IO_END FOR$IO_L_V FOR$IO_X_DA FOR$WRITE_SFP4P ZPdP#cPP PP)jPPnP{o q -3SEND_MSG0116-Jan-1992 13:0316-Jan-1992 13:03VAX FORTRAN V5.6-119SEND_MSGSEND_MSGhPPH[}PQPk SYS$SNDOPRP^IFERR^ HSEND_MSGIFERR SYS$SNDOPR+$CODE$PDATA $LOCAL ++*[USERS.DENTON_D.DECUS.LT.A]CHK_ACCESS.OBJ;4+,tA[./0 4-Z z0123KPWO56@u57FH89@dHG0HJ5 CHK_ACCESS0113-Nov-1991 11:3513-Nov-1991 11:35VAX FORTRAN V5.6-119 CHK_ACCESS P CHK_ACCESS|P|PH|[}PQPk}PQ PP`P`P޼ `P`P` SYS$CHECK_ACCESS` H CHK_ACCESSSYS$CHECK_ACCESSP$CODE$PDATA$LOCALP**[USERS.DENTON_D.DECUS.LT.A]DISK_FRAG.OBJ;1+,J[. /0 4 8-Z z0123KPWO 56@$57͢FH89@dHG0HJ5 READ_BITMAP013-NOV-1991 11:32 VAX MACRO T5.2V-4MAC/OBJ=[] LT_WORK:DISK_FRAG  READ_BITMAP LIB$GETDVI LIB$GET_INPUTLIB$PUT_OUTPUTLIB$SYS_TRNLOG SS$_NORMAL SS$_NOTRAN STR$APPEND STR$CONCAT STR$POSITION STR$UPCASE SYS$CLOSE SYS$CRMPSCSYS$FAOSYS$OPEN . ABS .P$ABS$PPPPKDATAPPQNQQQQT3No such device by that nameQ&Q!w3Disk device name>Q&Q3:Q&Q3 Hit to continueQ&QQQ3[0,0]BITMAP.SYSQ&QQQNote that this program shows the free space as reflected by the storage bitmap --> [0,0]BITMAP.SYS. When a VAX/VMS disk is mounted, approximately 10 - 15 % of the available free space is marked as allocated in the bitmap, and used for the bitmap cache by the XQP. Thus the displays that this program shows do not reflect the information in the cache, rather only the BITMAP itself. v!/!/!/Device !AS!/Free blocks !UL (total)!/Free blocks !UL (bitmap)!/Total blocks !UL !/Free space !UL % !UL %!/Largest piece !UL!/Contiguous ranges for device !15AS!/!/!_RANGE!_!_PIECES !_% OF PCS % FREE RANGE TOT LARGEST!/!_-------------!_------!_-------- ------ --------- -------Q3!8UL - !8UL: !8UL!_!8UL!6UL !8UL !8ULQ*&Q0Information for disk volume !AS !/!/Cluster factor !8UL!/Volume size !8UL!/Block factor !8UL!/Sectors/track !8UL!/Total tracks !8UL!/Total Cylinder !8UL!/Volume label !AD !/Time of mount !%D!/!/ 3Range= !8UL R10= !8UL R8= !8UL Total= !8ULQ+&Q1PQP*QQQQQQQQ QQdQ@Q@Q@QQQQQQQQQ3BITMAP$LBNSQ &Q CODEP BITMAP&s LIB$GET_INPUTN STR$UPCASEy STR$POSITIONP STR$APPENDLIB$SYS_TRNLOGPc STR$CONCATPcLIB$SYS_TRNLOGP SS$_NOTRAN3,343SYS$OPENPc< 3Z|~|~ock !8UL Size !8ULQ2&Q8PQPq P q SHOW_LBNS&SYS$FAOLIB$PUT_OUTPUTGG LIB$GET_INPUT SS$_NORMALP) BITMAPq SHOW_LBNS&DATAKCODE/*[USERS.DENTON_D.DECUS.LT.A]DO_IDENTIFIER.COM;13+,T&./0 4_-Z z0123KPWO5N6@U67nFH89@dHG0HJ!$ p2 = f$integer(p2) + %X80000000 $ set noon*$ name = f$identifier(p2,"number_to_name")$ if name .nes. ""$ then$ if name .eqs. p1 $ then $ exit$ else_$ outstr = f$fao("%LIATOO-F-IDCON, !AS already assigned !XL, cannot define !AS",name,p2,p1)$ write sys$output outstr $ exit 4 $ endif$ endif$ p2 = p2 - %X80000000,$ number = f$identifier(p1,"name_to_number")$ if number .eq. 0$ then6$ vmi$callback add_identifier 'p1' "/VALUE=ID=''p2'"$ exit $STATUS$ elseN$ outstr = f$fao("%LIATOO-W-CHAVAL, rights ID !AS changed from %X!XL",p1,p2)$ write sys$output outstr9$ vmi$callback update_identifier 'p1' "/VALUE=ID=''p2'"$ exit $STATUS$ endif$ exit'*[USERS.DENTON_D.DECUS.LT.A]EDTCOM.EDT;2+,U./0 4.:-Z z0123KPWO56#<)F7FH89@dHG0HJ0S/{}/SYS$SYSDEVICE:[LIAISON_TOOLS.][KIT.A].;/WEXIT,*[USERS.DENTON_D.DECUS.LT.A]FID_AND_RSA.OBJ;5+,V0./0 4R-Z z0123KPWO56237*FH89@dHG0HJ5 FID_AND_RSA013-NOV-1991 11:18 VAX MACRO T5.2V-4MAC FID_AND_RSA  FID_AND_RSA- LIB$SIGNAL SYS$PARSE SYS$SEARCH . ABS .PDATAP$ABS$P`Q^QQQQQQL`PPQNQQQ$RMSNAMBP.ComPQQQQQQQQCODEP  FID_AND_RSA&<VfW(WW`43` SYS$PARSEPJ` SYS$SEARCHP93WW <V(W3ЬV$3f$33$33P1` 3`3 LIB$SIGNAL FID_AND_RSA:DATA$RMSNAMCODE**[USERS.DENTON_D.DECUS.LT.A]FILE_FRAG.OBJ;1+,iV. /0 4 -Z z0123KPWO 56@d.57EFH89@dHG0HJ3 READINDEX013-NOV-1991 11:32 VAX MACRO T5.2V-4MAC/OBJ=[] LT_WORK:FILE_FRAG  READINDEX0 LIB$DATE_TIMELIB$ERASE_PAGE LIB$GET_INPUTLIB$LOCCLIB$PUT_OUTPUTRMS$_EOF SS$_NORMAL STR$APPEND STR$CONCAT STR$COPY_DX STR$POSITIONSTR$TRIM SYS$CLOSE SYS$CONNECTSYS$DISCONNECTSYS$EXITSYS$FAOSYS$GETSYS$OPENSYS$READ . ABS .P$ABS$PPPPPi NONSHAREDP3!_!_ Fragmented files for device !ASQ&&Q,23File specification!_!_!_!_File identification Size MapptrQ:&Q@t3------------------!_!_!_!_------------------- ----- ------Q:&Q@3!49AS !14<(!UL,!UW)!> !8UL !4ULQ!&Q'!/Starting time of run : !AS!/Total file headers read: !UL!/Total directory hdrs rd: !UL!/Fragmented files found: !UL!/Percentage of fragfiles: !UL!/Lost files seen in srch: !UL!/!/Ending time of run : !ASPQPP!Q=3:Q&QQJ3[0,0]INDEXF.SYSQ&QQQQQQQQQQQQQQQVQQBVQQBU3DEVICEQ&Q c3FULLQ&Q o3.Q&Qx3&Q3]Q&QQPPQNQQQQPDQBQQQ@QPQNQQbQQDQBQQQ8QQQQQQQQQQQQQQQQQQQQ QQQQT 3Disk device name>Q&Q@CODEP  READINDEX&P ] LIB$GET_INPUTP1B9] STR$POSITIONP9] STR$APPENDF]m STR$CONCATP1Fm3,3m43LIB$ERASE_PAGE]SYS$FAOLIB$PUT_OUTPUT.SYS$FAOLIB$PUT_OUTPUTpSYS$FAOLIB$PUT_OUTPUT LIB$DATE_TIMESYS$OPENP1 SYS$CONNECTP1wSYS$GETP1dSYS$GETP1Q<@3D <@ 3@ D D @ H H 4H SYS$GETH SYS$GETPRMS$_EOF)@VЦ4Z Z:@ @ @ VW38 83838{BL GL 3L 3L  SA <fWWVWX(h(B6uSTR$TRIML 4PPPue} STR$CONCAT@ <8}SYS$FAOLIB$PUT_OUTPUTϐ SYS$CLOSE8 SYS$CLOSE LIB$DATE_TIMEЏřd[[ZZ SYS$FAOLIB$PUT_OUTPUTP OPEN_INDEX_FILE&jm38,3m8438SYS$OPENP SS$_NORMALPPSYS$EXIT  FID_TO_NAME&Z[Ь83 SYS$CONNECTSYS$READVЦ4W W 1fWBL GL 3L 3L  1WVWX(h(B63k LIB$LOCCPJk STR$COPY_DXЏVZL L 4831C}YIkZkYte STR$CONCAT:SYS$DISCONNECTSYS$DISCONNECTPI FID_TO_NAMEOPEN_INDEX_FILE READINDEX+ NONSHAREDi CODE@&*[USERS.DENTON_D.DECUS.LT.A]IFERR.OBJ;1+,DZ./0 4r-Z z0123KPWO56qI7FS7 FH89@dHG0HJ/IFERR019-SEP-1986 16:31 VAX/VMS Macro V04-00MAC/LIS IFERR , IFERRLIB$STOP SYS$PUTMSG . ABS .c . BLANK .PмPP:l+P[~PnR}ODb SYS$PUTMSGݼLIB$STOP}O IFERR . BLANK .c,*[USERS.DENTON_D.DECUS.LT.A]KITINSTAL.COM;166+,Y.$/0 4n$!-Z z0123KPWO%56@+NH7@iNH89@dHG0HJ?$!++ KITINSTAL.COM - VMSINSTAL procedure for the LT facility.$!L$! This driving procedure for the VMSINSTAL installation of the LT facility.$!!$! Doug Denton - INTEC Consulting$!--$$!+&$! Establish mandatory error handling.$!-*$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y$ ON WARNING THEN EXIT $STATUS$$!+$! Validate parameters.$!-1$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO LT_INSTALL$ IF P1 .EQS. "VMI$_IVP" $ THEN $ GOSUB LT_IVP$ EXIT VMI$_SUCCESS$ ENDIF$ EXIT VMI$_UNSUPPORTED$ $ LT_INSTALL:$!+E$! The user wants to install the product. Check the VMS version for $! compatibility.$!-$ VMS_MIN_VER = "5.4"$ VMS_MAX_VER = "5.9-9"2$ VMS_VER = F$EDIT(F$GETSYI("VERSION"),"TRIM")I$ VMI$CALLBACK CHECK_VMS_VERSION LT_VMS_OK 'VMS_MIN_VER' "" 'VMS_MAX_VER'!$ IF LT_VMS_OK THEN GOTO GOOD_VMS!$ VMI$CALLBACK MESSAGE E VMSVER -C "System not running an acceptable level of VMS." -R "VMS level must be between V''VMS_MIN_VER' and V''VMS_MAX_VER'."-4 "Currently running VMS ''VMS_VER'."$ EXIT VMI$_FAILURE$ $ GOOD_VMS:$!+$! The operating system is OK.$!-)$ IF F$SEARCH("LT_CUSTOM:*.COM") .NES. ""$ THEN$ TYPE SYS$INPUTHAn existing version of LIAISON TOOLS has command procedures in LT_CUSTOMMthat must be reconciled with the new versions distributed with this kit priorLto their use. Please make sure the changes made to the customized files areLmade to the new ones. Copy the new files from LT_ROOT:[SYSTEM] to LT_CUSTOMand make the changes.$ ENDIF$!+L$! Turn SAFETY mode on, ask about purging and the Installation Verification I$! Procedure, and put the IVP out. Note that the release notes file has .$! already been copied to SYS$HELP implicitly.$!-$ VMI$CALLBACK SET SAFETY YES$ VMI$CALLBACK SET PURGE ASK$ VMI$CALLBACK SET IVP NO>$! VMI$CALLBACK PROVIDE_FILE LT_ LT$IVP.COM VMI$ROOT:[SYSTEST]$$!+$! Ask necessary questions.$!-^$ VMI$CALLBACK ASK LT_HOME_DEVICE "Enter name of disk to hold Liaison Tools" SYS$SYSDEVICE DRU1$ IF F$PARSE("[000000]",LT_HOME_DEVICE) .EQS. "" $ THEN G$ VMI$CALLBACK MESSAGE E NOSUCHDEV "''LT_HOME_DEVICE' does not exist"$ EXIT VMI$_FAILURE$ ENDIF6$ LT_HOME_DEVICE == F$PARSE(LT_HOME_DEVICE,,,"DEVICE")$ LT_LOCAL_FALLBACK == "N"F$! VMI$CALLBACK ASK LT_USE_INFOSERVER "Use routines on InfoServer" N B$ LT_USE_INFOSERVER == "N"$ IF LT_USE_INFOSERVER$ THEN$ TYPE SYS$INPUTI You can have copies of the Liaison Tools command procedures kept on theJ local disk as backup for any time the InfoServer is not available. ThisH will eliminate the dependency on the network connection and InfoServerI equipment. It will introduce synchronization responsibilities that youH must bear. Whenever a new version of the LTs is put on the InfoServerL you must be sure to move the new files to your LT_ROOT:[SYSTEM] directory.K$ VMI$CALLBACK ASK LT_LOCAL_FALLBACK "Keep local copies for fallback" N B$ ENDIF$ LT_SNA_LINES == ""1$ IF (F$SEARCH("SYS$SYSTEM:SNARJE.EXE") .NES. "")$ THEN$ TYPE SYS$INPUTJ The SNARJE product is installed on this node. This means that there are0 probably SNA lines used by local applications.M$ VMI$CALLBACK ASK LT_SNA_LINES "SNA lines controllable on this node" "" NU$ ENDIF$ SAY ""@$ SAY "No more questions will be asked, installation proceding."$ SAY ""$$!+"$! Add the new rights identifiers.$!-0$ @VMI$KWD:DO_IDENTIFIER SYSTEMSSTAFF %X010001000$ @VMI$KWD:DO_IDENTIFIER LT_TOOL_MGR %X010000000$ @VMI$KWD:DO_IDENTIFIER LT_USER %X010000010$ @VMI$KWD:DO_IDENTIFIER LT_QUEUE %X010000020$ @VMI$KWD:DO_IDENTIFIER LT_FILE %X010000030$ @VMI$KWD:DO_IDENTIFIER LT_REPLY %X010000041$ @VMI$KWD:DO_IDENTIFIER LT_IDENTIFIER %X010000050$ @VMI$KWD:DO_IDENTIFIER LT_AUTHORIZE %X010000060$ @VMI$KWD:DO_IDENTIFIER LT_DISK %X010000070$ @VMI$KWD:DO_IDENTIFIER LT_ENTRY %X010000080$ @VMI$KWD:DO_IDENTIFIER LT_NETWORK  %X010000090$ @VMI$KWD:DO_IDENTIFIER LT_PROCESS %X0100000A0$ @VMI$KWD:DO_IDENTIFIER LT_TAPE %X0100000B0$ @VMI$KWD:DO_IDENTIFIER LT_DATABASE %X0100000C4$ @VMI$KWD:DO_IDENTIFIER LT_DATABASE_PRIV %X0100000D0$ @VMI$KWD:DO_IDENTIFIER LT_LOGINS %X0100000E0$ @VMI$KWD:DO_IDENTIFIER LT_INSTALL %X0100000F0$ @VMI$KWD:DO_IDENTIFIER LT_MAILBOX %X010000100$ @VMI$KWD:DO_IDENTIFIER LT_MAIL %X01000011$$!+D$! Create local identifiers for the SNA line control (if necessary).$!-$ IF (LT_SNA_LINES .NES. "")$ THEN'$ VMI$CALLBACK ADD_IDENTIFIER SNA_MGR$ LINE_COUNT = 0$ _SNA_LOOP:I$ LINE_NAME = F$EDIT(F$ELEMENT(LINE_COUNT,",",LT_SNA_LINES),"COLLAPSE")$ IF (LINE_NAME .NES. ",") $ THEN$ IF (LINE_NAME .GTS. "") $ THEN7$ VMI$CALLBACK ADD_IDENTIFIER SNA_'LINE_NAME'_MGR $ ENDIF!$ LINE_COUNT = LINE_COUNT + 1$ GOTO _SNA_LOOP $ ENDIF$ ENDIF$$!+$! Create the LT directories.$!-.$ NEW_DIR = LT_HOME_DEVICE + "[LIAISON_TOOLS]"[$ VMI$CALLBACK CREATE_DIRECTORY USER 'NEW_DIR' "/OWNER=SYSTEMSSTAFF/PROT=(S:RWE,O:RWE,G,W)"5$ NEW_DIR = LT_HOME_DEVICE + "[LIAISON_TOOLS.CUSTOM]"$ DEFINE LT_CUSTOM 'NEW_DIR'D$ VMI$CALLBACK CREATE_DIRECTORY USER 'NEW_DIR' "/OWNER=SYSTEMSSTAFF"3$ NEW_DIR = LT_HOME_DEVICE + "[LIAISON_TOOLS.DATA]"$ DEFINE LT_DATA 'NEW_DIR'D$ VMI$CALLBACK CREATE_DIRECTORY USER 'NEW_DIR' "/OWNER=SYSTEMSSTAFF"5$ NEW_DIR = LT_HOME_DEVICE + "[LIAISON_TOOLS.SYSTEM]"$ DEFINE LT_SYSTEM 'NEW_DIR'D$ VMI$CALLBACK CREATE_DIRECTORY USER 'NEW_DIR' "/OWNER=SYSTEMSSTAFF"$+$ SAY "Setting ACLs on new directories ..."$!+P$! Define symbols to hold the ACL definitions for directories and files. SymbolsN$! are used because of the length of the ACL and restrictions on the parameter$! length for VMI$CALLBACKS.$!-$ DIRECTORY_ACL1 = -0 "((DEFAULT_PROT,S:RWED,O:RWED,G,W),"+-. "(ALARM=SECURITY,OPT=DEF,A=FAIL),"+-& "(ALARM=SECURITY,A=FAIL),"+-6 "(IDENT=LT_TOOL_MGR,OPT=DEF,A=R+W+ E+D+C),"+-. "(IDENT=LT_TOOL_MGR,A=R+W+E+D+C),"+-* "(IDENT=LT_USER,OPT=DEF,A=E),"+- "(IDENT=LT_USER,A=E))"$ DIRECTORY_ACL2 = -$ "((IDENT=LT_QUEUE,A=E),"+-% "(IDENT=LT_INSTALL,A=E),"+-( "(IDENT=LT_IDENTIFIER,A=E),"+-' "(IDENT=LT_AUTHORIZE,A=E),"+-# "(IDENT=LT_REPLY,A=E),"+-% "(IDENT=LT_MAILBOX,A=E),"+-" "(IDENT=LT_MAIL,A=E),"+- "(IDENT=LT_FILE,A=E))"$ DIRECTORY_ACL3 = -# "((IDENT=LT_DISK,A=E),"+-& "(IDENT=LT_DATABASE,A=E),"+-+ "(IDENT=LT_DATABASE_PRIV,A=E),"+-# "(IDENT=LT_ENTRY,A=E),"+-$ "(IDENT=LT_LOGINS,A=E),"+-% "(IDENT=LT_NETWORK,A=E),"+- "(IDENT=LT_TAPE,A=E))"$ FILE_ACL1 = -' "((ALARM=SECURITY,A=FAIL),"+-. "(IDENT=LT_TOOL_MGR,A=R+W+E+D+C),"+- "(IDENT=LT_USER,A=E))"$ FILE_ACL2 = -$ "((IDENT=LT_QUEUE,A=E),"+-% "(IDENT=LT_INSTALL,A=E),"+-( "(IDENT=LT_IDENTIFIER,A=E),"+-' "(IDENT=LT_AUTHORIZE,A=E),"+-# "(IDENT=LT_REPLY,A=E),"+-% "(IDENT=LT_MAILBOX,A=E),"+-" "(IDENT=LT_MAIL,A=E),"+- "(IDENT=LT_FILE,A=E))"$ FILE_ACL3 = -# "((IDENT=LT_DISK,A=E),"+-& "(IDENT=LT_DATABASE,A=E),"+-+ "(IDENT=LT_DATABASE_PRIV,A=E),"+-# "(IDENT=LT_ENTRY,A=E),"+-$ "(IDENT=LT_LOGINS,A=E),"+-% "(IDENT=LT_NETWORK,A=E),"+- "(IDENT=LT_TAPE,A=E))"$$!+O$! Set the ACLs on the directory files. It is more efficient to set 1 manually6$! and then copy the ACL to the other directory files.$!-:$ LIKE_FILE = LT_HOME_DEVICE + "[000000]LIAISON_TOOLS.DIR"*$ SET ACL/ACL='DIRECTORY_ACL3' 'LIKE_FILE'*$ SET ACL/ACL='DIRECTORY_ACL2' 'LIKE_FILE'*$ SET ACL/ACL='DIRECTORY_ACL1' 'LIKE_FILE'&$ NEW_DIR_ROOT = LT_HOME_DEVICE - ".]"&$ IF NEW_DIR_ROOT .EQS. LT_HOME_DEVICE$ THEN3$ NEW_DIR_ROOT = NEW_DIR_ROOT + "[LIAISON_TOOLS]"$ ELSE3$ NEW_DIR_ROOT = NEWa~LT020.AYZ z,[USERS.DENTON_D.DECUS.LT.A]KITINSTAL.COM;166n$_DIR_ROOT + ".LIAISON_TOOLS]"$ ENDIFA$ SET ACL/LIKE=(OBJECT_NAME='LIKE_FILE') 'NEW_DIR_ROOT'CUSTOM.DIR@$ SET ACL/LIKE=(OBJECT_NAME='LIKE_FILE') 'NEW_DIR_ROOT'DATA.DIR B$ SET ACL/LIKE=(OBJECT_NAME='LIKE_FILE') 'NEW_DIR_ROOT'SYSTEM.DIR $$ SAY "Linking the images ..."$!+N$! Link the images. They are linked on the target CPU to ensure compatibility$$! with existing run-time libraries.$!-=$ LINK/EXECUTABLE=VMI$KWD:DISK_FRAG.EXE VMI$KWD:DISK_FRAG.OBJ=$ LINK/EXECUTABLE=VMI$KWD:FILE_FRAG.EXE VMI$KWD:FILE_FRAG.OBJ+$ LINK/EXECUTABLE=VMI$KWD:LT_LIST_UAF.EXE -+ VMI$KWD:LT_LIST_UAF.OBJ,-# SYS$INPUT/OPTIONSsys$library:vaxcrtl/share5$ LINK/EXECUTABLE=VMI$KWD:LT_CONFIRM_NODISUSER.EXE -5 VMI$KWD:LT_CONFIRM_NODISUSER.OBJ, -# SYS$INPUT/OPTIONSsys$library:vaxcrtl/share($ LINK/EXECUTABLE=VMI$KWD:CERBERUS.EXE -( VMI$KWD:CERBERUS.OBJ,-& VMI$KWD:SETPRV.OBJ,-+ VMI$KWD:FID_AND_RSA.OBJ,-* VMI$KWD:CHK_ACCESS.OBJ,-% VMI$KWD:IFERR.OBJ,-1 SYS$SYSTEM:SYS.STB/SEL /NOTRACE$+$ SAY "Defining destinations for files ..."$!+.$! Put the files into the directory structure.$!-6$ IF (F$SEARCH("LT_DATA:LT_GROUP_INFO.DAT") .EQS. "") $ THEN I$ VMI$CALLBACK PROVIDE_FILE LT_ LT_GROUP_INFO.DAT 'F$TRNLNM("LT_DATA")'$ TYPE SYS$INPUTK You must edit the LT_DATA:LT_GROUP_INFO.DAT file to add the informationI about UIC groups you will be processing with LIAISON TOOLS before you can process user accounts.$ ENDIF4$ IF (F$SEARCH("LT_DATA:LT_NEWUSERS.DAT") .EQS. "") $ THEN G$ VMI$CALLBACK PROVIDE_FILE LT_ LT_NEWUSERS.DAT 'F$TRNLNM("LT_DATA")')$ SET FILE/PROT=(S:RWED,O:RWED,G,W) LT_$ ENDIF4$ IF (F$SEARCH("LT_DATA:LT_PROFILES.DAT") .EQS. "") $ THENG$ VMI$CALLBACK PROVIDE_FILE LT_ LT_PROFILES.DAT 'F$TRNLNM("LT_DATA")')$ SET FILE/PROT=(S:RWED,O:RWED,G,W) LT_$ ENDIF2$ IF (F$SEARCH("LT_DATA:LT_RIGHTS.DAT") .EQS. "") $ THENE$ VMI$CALLBACK PROVIDE_FILE LT_ LT_RIGHTS.DAT 'F$TRNLNM("LT_DATA")')$ SET FILE/PROT=(S:RWED,O:RWED,G,W) LT_$ ENDIF$F$ VMI$CALLBACK PROVIDE_IMAGE LT_ DISK_FRAG.EXE 'F$TRNLNM("LT_CUSTOM")''$ SET FILE/PROT=(S:RWED,O:RWED,G,W) LT_$ SET ACL/ACL='FILE_ACL1' LT_F$ VMI$CALLBACK PROVIDE_IMAGE LT_ FILE_FRAG.EXE 'F$TRNLNM("LT_CUSTOM")''$ SET FILE/PROT=(S:RWED,O:RWED,G,W) LT_$ SET ACL/ACL='FILE_ACL1' LT_Q$ VMI$CALLBACK PROVIDE_IMAGE LT_ LT_CONFIRM_NODISUSER.EXE 'F$TRNLNM("LT_CUSTOM")''$ SET FILE/PROT=(S:RWED,O:RWED,G,W) LT_$ SET ACL/ACL='FILE_ACL1' LT_H$ VMI$CALLBACK PROVIDE_IMAGE LT_ LT_LIST_UAF.EXE 'F$TRNLNM("LT_CUSTOM")''$ SET FILE/PROT=(S:RWED,O:RWED,G,W) LT_$ SET ACL/ACL='FILE_ACL1' LT_D$ VMI$CALLBACK PROVIDE_IMAGE LT_IMAGE CERBERUS.EXE VMI$ROOT:[SYSLIB]D$ VMI$CALLBACK PROVIDE_FILE LT_PROC CERBERUS.COM VMI$ROOT:[SYSLIB]$*$ SAY "Setting ACLs on CERBERUS files ..."$!+&$! Set the ACLs on the CERBERUS files.$!-h$ IF (F$IDENTIFIER("PAD_OPER","NAME_TO_NUMBER") .NE. 0) THEN $ SET ACL/ACL=(IDENT=PAD_OPER,A=E) LT_IMAGEh$ IF (F$IDENTIFIER("PCSA$MGR","NAME_TO_NUMBER") .NE. 0) THEN $ SET ACL/ACL=(IDENT=PCSA$MGR,A=E) LT_IMAGE"$ SET ACL/ACL='FILE_ACL3' LT_IMAGE"$ SET ACL/ACL='FILE_ACL2' LT_IMAGE"$ SET ACL/ACL='FILE_ACL1' LT_IMAGE.$ SET ACL/LIKE=(OBJECT_NAME=LT_IMAGE) LT_PROC S$ SET FILE/OWNER=SYSTEMSSTAFF/PROT=(W) 'F$TRNLNM("LT_IMAGE")','F$TRNLNM("LT_PROC")'$$!+R$! If this node is not going to use solely the common procedure code stored on theP$! BPOUS infoserver then copy the necessary procedures into the LT_ROOT:[SYSTEM]K$! directory. CERBERUS requires that these files be owned by SYSTEMSSTAFF.$!-9$ IF ((.NOT. LT_USE_INFOSERVER) .OR. (LT_LOCAL_FALLBACK))$ THEN3$ SAY "Setting up for local procedure access ...""$ VMI$CALLBACK RESTORE_SAVESET B9$ VMI$CALLBACK PROVIDE_FILE "" LT_SYSTEM_FILES.DAT "" T5$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_AUTH")'K$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_ENTR")','F$TRNLNM("LT_FILE")'5$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_IDEN")'K$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_QUOT")','F$TRNLNM("LT_INIT")'5$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_LOGI")'K$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_PROC")','F$TRNLNM("LT_QUEU")'J$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_REPL")','F$TRNLNM("LT_RMU")'J$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_ACL")','F$TRNLNM("LT_DEIN")'5$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_MAIL")'/$ SET ACL/LIKE=(OBJECT_NAME=LT_IMAGE) LT_INIT"$ SET ACL/ACL='FILE_ACL1' LT_ACL#$ SET ACL/ACL='FILE_ACL1' LT_DEIN&$ FILE_ACL1 = FILE_ACL1 - "))" + ")"H$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_AUTHORIZE,ACCESS=EXECUTE)) LT_AUTHD$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_ENTRY,ACCESS=EXECUTE)) LT_ENTRC$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_FILE,ACCESS=EXECUTE)) LT_FILEI$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_IDENTIFIER,ACCESS=EXECUTE)) LT_IDENE$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_LOGINS,ACCESS=EXECUTE)) LT_LOGIg$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_AUTHORIZE,ACCESS=EXECUTE),(IDENT=LT_DISK,ACCESS=EXECUTE)) LT_QUOTC$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_MAIL,ACCESS=EXECUTE)) LT_MAILF$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_PROCESS,ACCESS=EXECUTE)) LT_PROCD$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_QUEUE,ACCESS=EXECUTE)) LT_QUEUD$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_REPLY,ACCESS=EXECUTE)) LT_REPLn$ SET ACL/ACL='FILE_ACL1',(IDENT=LT_DATABASE,ACCESS=EXECUTE),(IDENT=LT_DATABASE_PRIV,ACCESS=EXECUTE)) LT_RMU$ ELSED$ SAY "Setting up for exclusively InfoServer procedure access ...""$ VMI$CALLBACK RESTORE_SAVESET CO$ VMI$CALLBACK PROVIDE_FILE LT_ACL ACL_ALL_QUEUES.COM 'F$TRNLNM("LT_SYSTEM")'Q$ VMI$CALLBACK PROVIDE_FILE LT_DEIN LT_DEINSTALL_LT.COM 'F$TRNLNM("LT_SYSTEM")'J$ SET FILE/OWNER=SYSTEMSSTAFF 'F$TRNLNM("LT_ACL")','F$TRNLNM("LT_DEIN")'"$ SET ACL/ACL='FILE_ACL1' LT_ACL#$ SET ACL/ACL='FILE_ACL1' LT_DEIN$ ENDIF$,$ SAY "Setting ACLs on non-batch queues ..." $ @LT_ACL$!+$! Provide DCL help.$!-$ SAY "Providing DCL help ..."&$ VMI$CALLBACK PROVIDE_DCL_HELP LT.HLP$$!+=$! Determine which startup command procedure skeleton to use.$!-$ IF LT_USE_INFOSERVER$ THEN$ IF LT_LOCAL_FALLBACK $ THEN O$ RENAME/NOLOG VMI$KWD:LT$STARTUP_LOCAL_FALLBACK.COM VMI$KWD:LT$STARTUP.COM$ ELSEC$ RENAME/NOLOG VMI$KWD:LT$STARTUP_IS.COM VMI$KWD:LT$STARTUP.COM $ ENDIF$ ELSED$ RENAME/NOLOG VMI$KWD:LT$STARTUP_LOCAL.COM VMI$KWD:LT$STARTUP.COM$ ENDIF$$!+B$! Generate a product-specific startup procedure to be executed at$! system startup time.$!-!$ SAY "Creating startup file ..."'$ OPEN/WRITE OUTFILE VMI$KWD:EDTCOM.EDT*$ WRITE OUTFILE "S/{}/''LT_HOME_DEVICE'/W"($ WRITE OUTFILE "S/~~/''LT_SNA_LINES'/W"$ WRITE OUTFILE "EXIT"$ CLOSE OUTFILE$ DEFINE/USER SYS$OUTPUT NL:B$ EDIT/COMMAND=VMI$KWD:EDTCOM.EDT/NOJOURNAL VMI$KWD:LT$STARTUP.COM$$!+G$! Copy the file to the [SYSMGR] subdirectory of the installation root.$!-L$ VMI$CALLBACK PROVIDE_FILE LT_STARTUP LT$STARTUP.COM VMI$ROOT:[SYS$STARTUP]$$!+>$! Execute the startup command procedure before the IVP stage.$!-%$ VMI$CALLBACK SET STARTUP LT_STARTUP$!+9$! Inform the installer of the startup code requirements.$!-$ TYPE SYS$INPUTH Please include the following statement in your system startup command procedure.1 $ @SYS$STARTUP:LT$STARTUP.COMK It is also a good idea to define the following symbol in your system-wide login command procedure.9 $ LT_INIT == "@LT_SYSTEM:LT_INIT.COM"$$ EXIT VMI$_SUCCESS$!P$!******************************************************************************P$!******************************************************************************$$!+D$!This is executed by the VMSINSTAL utility if the IVP is requested.$!- $ LT_IVP:.$ IF F$SEARCH("SYS$TEST:LT$IVP.COM") .NES. "" $ THEN$ @SYS$TEST:LT$IVP$ ELSE#$ VMI$CALLBACK MESSAGE F !NOIVP - 9$ "Installation Verification Procedure failed."@$ "Procedure file SYS$TEST:LT$IVP.COM does not exist."$ ENDIF $ RETURN!oug Denton - INTEC Consulting$!--$$!+&$! Establish mandatory error handling.$!-*$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y$ ON WARNING THEN EXIT $STATUS$$!+$! Validate parameters.$!-1$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO LT_INSTALL$ IF P1 .EQS. "VMI$_IVP" $ THEN $ GOSUB LT_IVP$ EXIT VMI$_SUCCESS$ ENDIF/*[USERS.DENTON_D.DECUS.LT.A]LT$STARTUP_IS.COM;14+, ]$. /0 4W -Z z0123KPWO 5,6 . I7FH89@dHG0HJ$!++!$! --- SYS$STARTUP:LT$STARTUP.COM$!N$! Code to be executed at system startup time to ready LIAISON TOOLS facility.M$! This code attaches to the InfoServer service OUS_LT. To avoid hanging theK$! system during a reboot that occurs while the InfoServer is not available3$! this procedure will ensure batch mode execution.$!--&$ save_privs = f$getjpi("","procpriv")$ if (f$mode() .nes. "BATCH")$ then$ node = f$getsyi("nodename")E$ queue_name = f$getqui("display_queue","queue_name","ist$''node'")$ if (queue_name .eqs. "") $ then$ set process/priv=oper-$ initialize/queue/batch/start ist$'node'Q$ request "LIAISON TOOLS - Startup procedure created batch queue IST$''node'"+$ set process/priv=(noall,'save_privs') $ endif)$ thisfile = f$environment("procedure")%$ if (f$trnlnm("ist$log") .nes. "") $ then:$ submit/que=ist$'node'/noprint/log=ist$log 'thisfile'I$ purge/keep=3 ist$log:'f$parse(thisfile,,,"name","syntax_only")'.log$ else5$ submit/que=ist$'node'/noprint/nokeep 'thisfile' $ endif$ exit$ endif$$ set process/priv=sysnam$$!+.$! Define system logicals used by version 2.0.$!-=$ define/system/executive/name_att=no_alias lt_version "V2.0"$$!+J$! Provide access to LT command procedures stored on the BPOUS InfoServer.$!-'$ if (.not. f$getdvi("dad0:","exists"))$ then#$ @sys$startup:ess$startup CLIENT,$ mcr ess$ladcp bind/system/nowrite ous_lt"$ mount/system dad$ous_lt ous_lt$ else($ if (f$trnlnm("dad$ous_lt") .eqs. "") $ then$ !+A$ ! The logical name created when the OUS_LT service is bound*$ ! does not exist. Bind the service.$ !-.$ mcr ess$ladcp bind/system/nowrite ous_lt$ else$ name = "")$ save_msg = f$environment("message")6$ set message/nofacility/noseverity/noident/notext$ set noon,$ name = f$getdvi("dad$ous_lt","devnam") $ set on$ set message'save_msg'$ if (name .eqs. "") $ then $ !+9$ ! The logical name exists but the device is gone. $ !-'$ deassign/system/exec dad$ous_lt0$ mcr ess$ladcp bind/system/nowrite ous_lt $ endif $ endif+$ if (.not. f$getdvi("dad$ous_lt","mnt")) $ then$ !+6$ ! The device is there but not mounted, mount it.$ !-$$ mount/system dad$ous_lt ous_lt $ endif$ endif$$!+9$! Define logical names used to find LIAISON TOOLS files.$!-W$ define/system/executive/name_att=no_alias lt_root {}[liaison_tools.]/trans=concealG$ define/system/executive/name_att=no_alias lt_custom lt_root:[custom]E$ define/system/executive/name_att=no_alias lt_data lt_root:[data]J$ define/system/executive/name_att=no_alias lt_system lt_root:[custom], -M dad$ous_lt:[ist0.liaison_tools.system]O$ define/system/executive/name_att=no_alias ist$liaison_tools lt_system,lt_data$$!+=$! Define the logical names used by individual LIAISON TOOLS.$!->$ define/system/executive/name_att=no_alias lt_sna_lines "~~ "$'$ set process/priv=(noall,'save_privs')$$!+L$! Make certain the CERBERUS program is installed with the necessary priv's.$!-@$ if .not. f$file_attributes("sys$library:cerberus.exe","known")$ then $ install = "$install/command" $ install9add sys$library:cerberus/priv=(cmkrnl,sysprv,oper,bypass)exit$ endif$$ exit1*[USERS.DENTON_D.DECUS.LT.A]LT$STARTUP_LOCAL.COM;4+,a./0 4W-Z z0123KPWO5:6@f4E7FH89@dHG0HJ$!++!$! --- SYS$STARTUP:LT$STARTUP.COM$!N$! Code to be executed at system startup time to ready LIAISON TOOLS facility.$!--$$!+.$! Define system logicals used by version 2.0.$!-=$ define/system/executive/name_att=no_alias lt_version "V2.0"$$!+9$! Define logical names used to find LIAISON TOOLS files.$!-W$ define/system/executive/name_att=no_alias lt_root {}[liaison_tools.]/trans=concealG$ define/system/executive/name_att=no_alias lt_custom lt_root:[custom]E$ define/system/executive/name_att=no_alias lt_data lt_root:[data]J$ define/system/executive/name_att=no_alias lt_system lt_root:[custom], -G lt_root:[system]O$ define/system/executive/name_att=no_alias ist$liaison_tools lt_system,lt_data$$!+=$! Define the logical names used by individual LIAISON TOOLS.$!->$ define/system/executive/name_att=no_alias lt_sna_lines "~~ "$$!+L$! Make certain the CERBERUS program is installed with the necessary priv's.$!-@$ if .not. f$file_attributes("sys$library:cerberus.exe","known")$ then $ install = "$install/command" $ install9add sys$library:cerberus/priv=(cmkrnl,sysprv,oper,bypass)exit$ endif$$ exit;*[USERS.DENTON_D.DECUS.LT.A]LT$STARTUP_LOCAL_FALLBACK.COM;16+,Ai. /0 4W R-Z z0123KPWO 5,6 D I7 FH89@dHG0HJ$!++!$! --- SYS$STARTUP:LT$STARTUP.COM$!N$! Code to be executed at system startup time to ready LIAISON TOOLS facility.O$! This code attaches to the InfoServer service OUS_LT. If for some reason theL$! InfoServer is not available, local copies of the procedures will be used.P$! To avoid hanging the system during a reboot that occurs while the InfoServer D$! is not available this procedure will ensure batch mode execution.$!--&$ save_privs = f$getjpi("","procpriv")$ if (f$mode() .nes. "BATCH")$ then$ node = f$getsyi("nodename")E$ queue_name = f$getqui("display_queue","queue_name","ist$''node'")$ if (queue_name .eqs. "") $ then$ set process/priv=oper-$ initialize/queue/batch/start ist$'node'Q$ request "LIAISON TOOLS - Startup procedure created batch queue IST$''node'"+$ set process/priv=(noall,'save_privs') $ endif)$ thisfile = f$environment("procedure")%$ if (f$trnlnm("ist$log") .nes. "") $ then:$ submit/que=ist$'node'/noprint/log=ist$log 'thisfile'I$ purge/keep=3 ist$log:'f$parse(thisfile,,,"name","syntax_only")'.log$ else5$ submit/que=ist$'node'/noprint/nokeep 'thisfile' $ endif$ exit$ endif$$ set process/priv=sysnam$$!+.$! Define system logicals used by version 2.0.$!-=$ define/system/executive/name_att=no_alias lt_version "V2.0"$$!+J$! Provide access to LT command procedures stored on the BPOUS InfoServer.$!-'$ if (.not. f$getdvi("dad0:","exists"))$ then#$ @sys$startup:ess$startup CLIENT,$ mcr ess$ladcp bind/system/nowrite ous_lt"$ mount/system dad$ous_lt ous_lt$ else($ if (f$trnlnm("dad$ous_lt") .eqs. "") $ then$ !+A$ ! The logical name created when the OUS_LT service is bound*$ ! does not exist. Bind the service.$ !-.$ mcr ess$ladcp bind/system/nowrite ous_lt$ else$ name = "")$ save_msg = f$environment("message")6$ set message/nofacility/noseverity/noident/notext$ set noon,$ name = f$getdvi("dad$ous_lt","devnam") $ set on$ set message'save_msg'$ if (name .eqs. "") $ then $ !+9$ ! The logical name exists but the device is gone. $ !-'$ deassign/system/exec dad$ous_lt0$ mcr ess$ladcp bind/system/nowrite ous_lt $ endif $ endif+$ if (.not. f$getdvi("dad$ous_lt","mnt")) $ then$ !+6$ ! The device is there but not mounted, mount it.$ !-$$ mount/system dad$ous_lt ous_lt $ endif$ endif$$!+9$! Define logical names used to find LIAISON TOOLS files.$!-W$ define/system/executive/name_att=no_alias lt_root {}[liaison_tools.]/trans=concealG$ define/system/executive/name_att=no_alias lt_custom lt_root:[custom]E$ define/system/executive/name_att=no_alias lt_data lt_root:[data]J$ define/system/executive/name_att=no_alias lt_system lt_root:[custom], -O dad$ous_lt:[ist0.liaison_tools.system],-7 lt_root:[system]O$ define/system/executive/name_att=no_alias ist$liaison_tools lt_system,lt_data$$!+=$! Define the logical names used by individual LIAISON TOOLS.$!->$ define/system/executive/name_att=no_alias lt_sna_lines "~~ "$'$ set process/priv=(noall,'save_privs')$$!+L$! Make certain the CERBERUS program is installed with the necessary priv's.$!-@$ if .not. f$file_attributes("sys$library:cerberus.exe","known")$ then $ install = "$install/command" $ install9add sys$library:cerberus/priv=(cmkrnl,sysprv,oper,bypass)exit$ endif$$ exit$*[USERS.DENTON_D.DECUS.LT.A]LT.HLP;31+,X.,/0 4M,+-Z z0123KPWO-56PH7 񭋣H89@dHG0HJ1 Liaison_ToolsM The Liaison Tools Facility, version 2.0, allows users with the appropriate F rights IDs to execute privileged commands. The mechanism used is a F command procedure that executes within a secure shell. The command I procedures prompt for the necessary information and format the command.7 An account with complete access to Liaison Tools can:) * use the AUTHORIZE utility) * use the DISKQUOTA utility( * manipulate queue entries( * set file characteristics5 * create and control rights identifiers! * control processes. * control print and batch queues' * issue the REPLY command$ * execute RMU commandsL Access can be granted to all or any of the above functions to any account.K The LT commands can be issued in batch mode with the responses to prompts passed as parameters. 2 QuestionsB If you have any problems, questions, or suggestions please call: Doug Denton Intec Consulting 216-642-39502 Initialization< System logical name initialization is accomplished by the F SYS$STARTUP:LT$STARTUP.COM procedure. This needs to be executed as ' part of the system startup procedure.A Before executing any LT commands the process must first executeA LT_SYSTEM:LT_INIT. Some sites have a symbol LT_INIT defined toH make this easier. Only the symbols for LT commands you are authorized to execute will be set.2 LT_AUTHORIZEF Give access to the AUTHORIZE utility to control user accounts. The A executing account must have the LT_USER or LT_AUTHORIZE rights identifier.0 Several types of accounts cannot be processed.? * System accounts (group UIC code <= MAXSYSGROUP)> * accounts with group UIC code not listed in the% valid user group file Format:' $ LT_AUTHorize action username 9 Requires the LT_USER or LT_AUTHORIZE rights identifier.3 ADDJ Create a new user account. This accepts several parameters, any missingH parameters that are required will be prompted for in INTERACTIVE mode.# P3 - UIC in [grp,mem] format P4 - Account owner P5 - Login device name# P6 - Login command procedure P7 - Password& P8 - Account profile (template)I The new account will automatically expire in 365 days and the password G will be pre-expired. A directory of [USERS.username] will be createdH on the login device, a mail directory will be created, and 2000 blocks# of disk quota will be authorized.3 DELETEF Delete the account and all files in the user directory tree of that account on any allowable disk. 3 DISABLEI Disable access to an account. This precludes use of the account in any mode and receipt of mail.3 ENABLE. Enables use of a prevously disabled account. 3 FWD_MAILD Sets the VMS mail forwarding address for an account. There is an additional required parameter.3 P3 - name of the account to receive the mail3 MODIFY0 Change characteristics of an existing account.J A subset of the qualifiers available to the AUTHORIZE MODIFY command is . supported. Qualifiers that you may use are:@ /ACCESS /ACCOUNT /BATCH /CPUTIMEC /DEVICE /DIALUP /DIRECTORY /EXPIRATION> /GENERATE_PASSWORD /INTERACTIVE /LGICMD /LOCALJ /MAXACCTJOBS /MAXDETACH /MAXJOBS /MODIFY_IDENTIFIERB /NETWORK /OWNER /PASSWORD /PRIMEDAYS/ /[NO]PWDEXPIRED /REMOTE /SHRFILLMJ See the AUTHORIZE UTILITY manual for a description of the qualifiers for the AUTHORIZE MODIFY command. 3 REAUTHORIZE6 Changes the expiration date for the given account.  Additional Parameters:8 P3 - New expiration date (absolute or delta)3 RENAMEF Change the name of the!NMD~LT020.AXZ z$[USERS.DENTON_D.DECUS.LT.A]LT.HLP;31M," given account and the user directories on any allowable disk.  Additional Parameters: P3 - New username< P4 - List of AUTHORIZE RENAME command qualifiersJ See the AUTHORIZE UTILITY reference manual for detail of the qualifiers.3 SHOW6 Display information about the account on SYS$OUTPUT. 3 USERNAME- The username of the account to be effected. 3 Examples $ LT_AUTHORIZE SHOW ANYUSER? Username: ANYUSER Owner: ANYUSER,JMM Account: 9625 UIC: [2010,1] ([PTC,ANYUSER])> CLI: DCL Tables: DCLTABLES& Default: PTC$DISK01:[USERS.ANYUSER] LGICMD: LOGIN Flags:% Primary days: Mon Tue Wed Thu Fri- Secondary days: Sat Sun No access restrictionsF Expiration: (none) Pwdminimum: 6 Login Fails: 0@ Pwdlifetime: 90 00:00 Pwdchange: 4-OCT-1991 14:53L Last Login: 4-DEC-1991 06:59 (interactive), 6-DEC-1991 09:43 (non-inter); Maxjobs: 0 Fillm: 120 Bytlm: 40960; Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0; Maxdetach: 0 BIOlm: 200 JTquota: 16384; Prclm: 10 DIOlm: 200 WSdef: 4096; Prio: 4 ASTlm: 100 WSquo: 4096; Queprio: 0 TQElm: 10 WSextent: 16384; CPU: (none) Enqlm: 1200 Pgflquo: 50000 Authorized Privileges: GROUP TMPMBX NETMBX Default Privileges: TMPMBX NETMBX= $ LT_AUTHORIZE MODIFY ANYUSER "/OWNER=""""!Anyuser, JM"""""B This last example changes the owner value of account ANYUSER to  Anyuser, JM.2 LT_DISKQUOTAC Control disk space quota assignments using the DISKQUOTA utility. Format:H $ LT_DISKQuota action username disk-spec perm-blocks over-blocksD Requires the LT_USER or LT_AUTHORIZE or LT_DISK rights identifier.3 ADD7 Add a disk quota entry for this username on the disk.8 See the DISKQUOTA utility manual for more information.3 MODIFY< Change the disk quota entry for the username on this disk.8 See the DISKQUOTA utility manual for more information.3 REMOVE1 Disallow the username using space on this disk.8 See the DISKQUOTA utility manual for more information.3 SHOWC Display the disk quota information for this username and disk on SYS$OUTPUT.8 See the DISKQUOTA utility manual for more information. 3 USERNAMEF The username of the account whose disk quota information you wish to manipulate.8 See the DISKQUOTA utility manual for more information. 3 DISK-SPECH The device specification for the disk whose quota information you wish to manipulate.8 See the DISKQUOTA utility manual for more information. 3 PERM-BLOCKSI The number of blocks of disk space the username account can permanently allocate on this disk.8 See the DISKQUOTA utility manual for more information. 3 OVER-BLOCKSI The number of blocks of disk space the username account can temporarily8 allocate in addition to its permanent block allotment.8 See the DISKQUOTA utility manual for more information. 3 Examples1 LT_DISKQUOTA MODIFY PADOPS SOC$DISK01 15000 500? This example grants account PADOPS 15000 permanent blocks and* 500 overdraft blocks on disk SOC$DISK01. 2 LT_ENTRY Control queue entries. Format:1 $ LT_ENTRY action entry-number qualifiers5 Requires the LT_USER or LT_ENTRY rights identifier.3 SHOW4 Display information about the entry on SYS$OUTPUT.D See the DCL Dictionary manual for a description of the SHOW ENTRY command.3 SET. Change the characteristics of a queue entry.B See the DCL Dictionary manual for a description of the SET ENTRY command.3 DELETE Remove an entry from a queue.E See the DCL Dictionary manual for a description of the DELETE/ENTRY command. 3 Examples $ LT_ENTRY SHOW 545 /FULLA This example displays information about entry number 545 on the SYS$OUTPUT device. $ LT_ENTRY SET 545 /HOLDA This example places the job with entry number 545 in a holding  state. $ LT_ENTRY SET 545 /RELEASEC This example releases job 545 (previously put in a holding state) for execution.! $ LT_ENTRY SET 545 /PAGES=(m,n)E This example applies to print jobs. It will print pages m through  n of entry number 545. 2 LT_FILED Allow the user to process files he would not otherwise have accessD to. Wildcards are allowed in the file specification but each file is checked for access.* The following restrictions are enforced:I * File not owned by system account (UIC group < MAXSYSGROUP)> * File not owned by IST account (UIC group = 300)( * File not on SYS$SYSDEVICE$ * File not part of MAIL2 * File owned by group listed as valid Format:! $ LT_FILE action filespec4 Requires the LT_USER or LT_FILE rights identifier.3 SHOW% Display information about the file. Additional Parameters:( P3 - Options list (optional)J See the DCL Dictionary manual for a description of the DIRECTORY command and its qualifiers.3 SET' Change the characteristics of a file. Additional Parameters:( P3 - Options list (optional)I See the DCL Dictionary manual for a description of the SET FILE commandF and its qualifiers. Note that the /ENTER and /REMOVE qualifiers are illegal.3 MOVEH Move a file from one directory location to another on the same system. Additional Parameters:' P3 - Destination (required)G See the DCL Dictionary manual for a description of the BACKUP command and its qualifiers.3 FRAGH Display file fragmentation statistics. The disk name will be prompted for by the program. 3 FILESPEC" The name of the file to process.2 LT_IDENTIFIERG Allow the manipulation of rights identifiers. All AUTHORIZE utility F commands effecting rights identifiers are supported except RENAME/IDE and MODIFY/ID/NAME. The rights identifier specified must be on theG list of Liaison Tools accessible rights. When a right is added it is automatically made accessible. Format:5 $ LT_INDENTifier action identifier qualifiers: Requires the LT_USER or LT_IDENTIFIER rights identifier.3 ADD! Create a new rights identifier.8 See the AUTHORIZE utility manual for more information.3 GRANTG Add an identifier to a given username. This allows the named accountE to access system objects using the identifier. Note that processesE already logged in under the account will not be effected, they must8 log out and in again to get the new rights identifier. Additional Parameters: P4 - username8 See the AUTHORIZE utility manual for more information.3 LISTI Write information about the specified rights identifier to a file named2 RIGHTSLIST.LIS in the current default directory.8 See the AUTHORIZE utility manual for more information.3 MODIFYI Change characteristics of a rights identifier. Only rights identifiersE listed as valid, Liaison Tools accessible rights identifiers can be changed.8 See the AUTHORIZE utility manual for more information.3 REVOKEH Take the named rights identifier off the list of the given username. J This will disallow access of system objects using the rights identifier.F Note that any processes currently logged in using that account will % retain the right until it logs out.8 See the AUTHORIZE utility manual for more information.3 REMOVEH Delete the rights identifier from the system database. This will also9 revoke the ID from any accounts that currently hold it.8 See the AUTHORIZE utility manual for more information.3 SHOWF Display information about the rights identifier on SYS$OUTPUT. The F /FULL qualifier will display the names of the accounts that hold the right.8 See the AUTHORIZE utility manual for more information.3 VALIDG List the rights identifiers that are valid, Liaison Tools accessible,# rights identifiers on SYS$OUTPUT. 3 IDENTIFIERI The name of the identifier to manipulate. It is a string of 1 through K 31 alphanumeric characters that may contain underscores and dollar signs.8 The name must contain at least 1 nonnumeric character.8 See the AUTHORIZE utility manual for more information. 3 QUALIFIERSM Qualifiers appropriate for the AUTHORIZE utility command action/IDENTIFIER.) A leading backslash (/) is recommended.8 See the AUTHORIZE utility manual for more information. 2 LT_INITA Initializes Liaison Tools symbols. This must be done prior to B executing any LT commands. If no symbol is defined then you can $ @LT_SYSTEM:LT_INIT.COM.I Only symbols for the commands your process is authorized to use will beC created. You can do a $ SHOW SYMBOL LT_* to see your symbol set. 2 LT_LOGINS@ Allows changing of the limit to concurrent interactive logins. Format: $ LT_LOGINS action+ Requires the LT_LOGINS rights identifier.3 SET( Change the limit of concurrent logins. Additional Parameters: P2 - New limit value3 SHOW: Show the current limit of concurrent interactive logins. 3 Examples $ LT_LOGINS SHOW@ This will display the number of current interactive logins and$ then maximum number on SYS$OUTPUT. 2 LT_PROCESSG Control processes executing on the system. Restrictions are enforcedD that preclude effecting system processes, IST processes, processesG with privileges other than TMPMBX, NETMBX, GROUP, GPRNAM, GRPPRV, andH SYSLCK, and processes executing in a group not specifically listed for Liaison Tools control. Format:1 $ LT_PROCess action process-id qualifiers7 Requires the LT_USER or LT_PROCESS rights identifier.3 SHOW< Display information about the named process on SYS$OUTPUT.F See the DCL DICTIONARY manual for a description of the SHOW PROCESS command.3 STOPJ Stop the specified process. The process will discontinue execution and  will be deleted.@ See the DCL DICTIONARY manual for a description of the STOP/ID command.3 MODIFY2 Change characteristics of the specified process.E See the DCL DICTIONARY manual for a description of the SET PROCESS command. 3 PROCESS-IDF The username or PID of the process targetted for the action. It is D safest to use the PID. If the username is given the first processE found executing under that username will be acted upon. If severalD processes are using that account you may effect the wrong process. 3 QUALIFIERS4 Qualifiers suitable for the action you are taking.F See the DCL DICTIONARY manual for a description of the SHOW PROCESS,$ STOP/ID, and SET PROCESS commands. 3 Examples( $ LT_PROCESS SHOW 24203A62 /CONTINUOUS? This example will continuously display information about the  process with ID 24203A62. 2 LT_QUEUEG Control system PRINT and BATCH queues. This is primarily designed toF assist with BATCH queues. If you have the access to control a printJ queue with this tool then you also are able to issue native DCL commands- from the $ prompt to make the same changes. Format:$ $ LT_QUEue action queue-nameH Requires the LT_USER or LT_QUEUE rights identifier in addition to the ! queue access rights identifier.K LT_QUEUE uses rights identifiers to control access to the queues. If youJ hold the QUE_MGR rights identifier then you can control all queues. If E you do not have QUE_MGR you must have 'queue-name'_MGR to control aI specific queue. For example, SB24D_MGR will allow control of the SB24D queue.H Requires the LT_USER or LT_QUEUE rights identifier in addition to the ! queue access rights identifier.3 SHOW3 Display information abou!t the queue on SYS$OUTPUTh Additional Parameters: P3 - Qualifier listpC See the DCL DICTIONARY manual for a desription of the SHOW QUEUE command.3 STARTrH Start the given queue. This makes jobs residing in the queue eligible for execution. Additional Parameters: P3 - Qualifier listoD See the DCL DICTIONARY manual for a desription of the START/QUEUE command.3 SET 0 Change characteristics of the specified queue. Additional Parameters: P3 - Qualifier listsB See the DCL DICTIONARY manual for a desription of the SET QUEUE command.3 STOPA Stop the named queue. No jobs pending in the queue will begin.u Additional Parameters: P3 - Qualifier list C See the DCL DICTIONARY manual for a desription of the STOP/QUEUE n command.3 ASSIGN@ Merge the jobs pending in the target queue to the destination. Additional Parameters:' P3 - Destination queue namenD See the DCL DICTIONARY manual for a desription of the ASSIGN/MERGE command. 3 QUEUE-NAME 3 Examples+ $ LT_QUEUE SET BPOUSA$BATCH /JOB_LIMIT=10n> This will allow 10 jobs in the BPOUSA$BATCH queue to execute simultaneously.e# $ LT_QUEUE STOP SVCS$PRINT /RESETy? This will stop the SVCS$PRINT queue and requeue all executingp, jobs to restart when the queue is started.$ $ LT_QUEUE SHOW BPOUSA$BATCH /FULL@ This displays a full description of the BPOUSA$BATCH queue and< information about any jobs in that queue running under the current account. 2 LT_REPLYI Execute the DCL REPLY command to respond to or abort a pending request,UH enable or disable the current terminal as an operator console, or send! message text to user terminals. Format:a $ LT_REPLY actionX5 Requires the LT_USER or LT_REPLY rights identifier.n3 TO Respond to a pending request.r Additional Parameters: P2 - Request numberr P3 - Message textRA See the DCL DICTIONARY manual for a description of the REPLY/TO command.3 ABORTs Abort a pending request. Additional Parameters: P2 - Request numberCD See the DCL DICTIONARY manual for a description of the REPLY/ABORT command.3 ENABLE6 Enable the current terminal as an operators console.E See the DCL DICTIONARY manual for a description of the REPLY/ENABLEo command. 3 DISABLEp7 Disable the current terminal as an operators console. F See the DCL DICTIONARY manual for a description of the REPLY/DISABLE command. 3 MESSAGEr* Send a text message to user terminal(s). Additional Parameters: P2 - Qualifier lists P3 - Message textt> See the DCL DICTIONARY manual for a description of the REPLY command. 3 Examples $ LT_REPLY /TO=4534c& This replies to request number 4524.; $ LT_REPLY MESSAGE /USERNAME=PADOPS/URGENT "TEST MESSAGE"B This sends "TEST MESSAGE" to each terminal user PADOPS is logged= in on. It also displays an URGENT banner and beeps to draw  attention to the message.e $ LT_REPLY ENABLEA This enables the current terminal to receive operator requests.h 2 LT_RMU aD Gives the user access to the RMU command to manipulate and control Rdb/VMS databases. Format: > $ LT_RMU action optional_qualifiers optional_parameter@ Requires the LT_USER, LT_DATABASE, or LT_DATABASE_PRIV rights identifier.E 3 ANALYZELH See the VAX Rdb/VMS RDO and RMU reference manual for more information. 3 CONVERTD. Requires LT_DATABASE_PRIV rights identifier.H See the VAX Rdb/VMS RDO and RMU reference manual for more information. 3 RESTORE . Requires LT_DATABASE_PRIV rights identifier.H See the VAX Rdb/VMS RDO and RMU reference manual for more information.3 SHOWH See the VAX Rdb/VMS RDO and RMU reference manual for more information.3 Compatibility_commands7 Version 1.0 commands that are processed using LT_RMU:t); RESTORE RMU_RESTORE CONVERT_DBi 3 ExampledC $ LT_RMU ANALYZE CARDINALITY/OUTPUT=MYDB.ANA MYDB.RDB TABLENAME-" This command is translated into:> $ RMU/ANALYZE/CARDINALITY/OUTPUT=MYDB.ANA MYDB.RDB TABLENAME2 All other RMU commands are translated similarly.2 Release NotesnE Currently there are no release notes for Liaison Tools version 2.0.d2 Rights_IdentifiersI The Liaison Tools facility is guided by rights identifiers. Access is nF granted to specific tools during the initialization phase (LT_INIT).@ The tools are determined by examining the process rights list.I Additionally, the LT_QUEUE tool controls access to queues by examining O granted rights identifiers. 3 LT_USER  Access to all tools. 3 QUE_MGR  Access to all queues.s3 'queue_name'_MGR# Access to the 'queue_name' queue.:3 LT_AUTHORIZE 3 LT_DATABASEf3 LT_DATABASE_PRIV 3 LT_DISKh 3 LT_ENTRY 3 LT_FILE33 LT_IDENTIFIER4 3 LT_LOGINS5 3 LT_PROCESS 3 LT_QUEUE 3 LT_REPLY 2 Set_VerifyJ If VERIFY is set at the call to a liaison tool then information will be K displayed telling the tool revision number and the name of the file being0L executed. Additional information about which tools are being granted will% be displayed during initialization. G This is important when calling the help desk to report problems with e Liaison Tools .P (none) Enqlm: 1200 Pgflquo: 50000 Authorized Privileges: GROUP TM6*[USERS.DENTON_D.DECUS.LT.A]LT_CONFIRM_NODISUSER.OBJ;39+,x[./0 4 -Z z0123KPWO56lb7@[FH89@dHG0HJALT_CONFIRM_NODISUSERV1.012-NOV-1991 10:21VAX C V3.1-051P%%LIATOO-F-PRIVACCT, cannot enable a priviledged account9P * WARNING - This account has %d login failures, enable anyway? zPLIATOO(AUTHORIZE) - Approved %s for NODISUSER although %d login failures.P * WARNING - This account has has not be used in %d days, enable anyway? PLIATOO(AUTHORIZE) - Approved %s for NODISUSER although unused for %d days.P ^ C$MAIN_ARGSSTЏ@ԭz|}rtu6 8ޭ:>BDޭFJNPޭRVZ\>^|b|jЬPՠ <~EXITЬPР~ݠSTRLENPzޭv|~6z|~ SYS$GETUAIPRRR< RREXITȭȭ ˏ@PcPRINTF$EXIT 12~ߣ9PRINTFdFGETCPyPY ,EXITE2~ЬPݠߣzSPRINTFSTRLENPPrr SYS$SNDOPRP PEXITdFGETC߭LIB$DAYPR߭߭LIB$DAYPR­ܭѭ{ݭPRINTFdFGETCPyPY ,EXITGPݭЬPݠ  C$V_CTYPEDEFSSPRINTFPRINTFFGETCSTRLENEXITLIB$DAY SYS$SNDOPR SYS$GETUAI MAIN C$MAIN_ARGSb$CODE$DATA_CTYPE_STDINSTDOUTSTDERRY$CHAR_STRING_CONSTANTSZSPRINTFSTRLENPPrr SYS$SNDOPRP PEXITEXITP.*[USERS.DENTON_D.DECUS.LT.A]LT_GROUP_INFO.DAT;2+,{./0 46-Z z0123KPWO56`qy7`GH89@dHG0HJ6/* This file defines the UIC and home disk environment/* Entries have the format of:/* GGGG AAAA DDDDDDDDDDDD/* /* Where:(/* GGGG - UIC group code%/* AAAA - Account name)/* DDDDDDDDDDDD - Home disk device.*[USERS.DENTON_D.DECUS.LT.A]LT_LIST_UAF.OBJ;158+,{f./0 48 -Z z0123KPWO56w 7 GH89@dHG0HJ 8 LT_LISTUAFV1.0414-MAY-1992 12:22VAX C V2.3-024PExpiration: !17%D Login fails: !6UL )PExpiration: (none) Login fails: !6UL ^PFillm: !6UL ASTlm: !6UL WSdef: !6UL PBIOlm: !6UL TQElm: !6UL WSquo: !6UL PDIOlm: !6UL ENQlm: !6UL WSextent: !6UL PBYTlm: !6UL Pgflquo: !6UL  PPwdlifetime: !10%D Pwdchange: !17%D OPLast Login: !17%D (interactive), !17%D (non-interactive) P*%PBRIEP P %s is missing user record. P P P P%s %s [%.6o,%.6o] %s %s P Username: %s Owner: %s PAccount: %s UIC: [%o,%o] ([%s,%s]) )PDefault: %s 7P 9PLGICMD: %s HPAudit OPAutoLogin ZPDisUser cPDisMail lPNoMail tPCaptive }PDisCTL/Y PDefCLI PDisReport PDisWelcome PLockPwd P(Others)PFlags: %s P%sP%sP%sP%sP%sP%sP%sP%sPAuthorized privileges: PACNT PALLSPOOL  PALTPRI PBUGCHK PBYPASS )PCMEXEC 3PCMKRNL =PDETACH GPDIAGNOSE QPEXQUOTA [PGROUP ePGRPNAM oPLOG_IO yPMOUNT PNETMBX POPER PPFNMAP PPHY_IO PPRMCEB PPRMGBL PPRMMBX PPSWAPM PSETPRV PSHARE PSHMEM PSYSGBL PSYSLCK PSYSNAM PSYSPRV PTMPMBX #PVOLPRO -PWORLD 7PGRPPRV APREADALL KPSECURITY UP %s [PDefault privileges: pPACNT zPALLSPOOL PALTPRI PBUGCHK PBYPASS PCMEXEC PCMKRNL PDETACH PDIAGNOSE PEXQUOTA PGROUP PGRPNAM PLOG_IO PMOUNT PNETMBX POPER PPFNMAP PPHY_IO $PPRMCEB .PPRMGBL 8PPRMMBX BPPSWAPM LPSETPRV VPSHARE `PSHMEM jPSYSGBL tPSYSLCK ~PSYSNAM PSYSPRV PTMPMBX PVOLPRO PWORLD PGRPPRV PREADALL PSECURITY P %s PRights held: P %s P^ C$MAIN_ARGSW[||ͦ ͨޭͪͮͲʹޭͶͺ@; #ޭޭޭ̀ޭޭޭ >5 >"&*A,ޭ.2̀668>:>B9D>FJN:P>RVZ8\>^bf?hޭjnr7t>vz~=̀ޭ͂͆͊>͌ޭ͎͖͒<͘ޭ͚͞ ͢ ͤͦ>ͪ ͮ Ͱ͒ͲͶ@ͺͼO; ޭ>|͞͠͡=͖͙͚͎͐͑͘͢_͒P͈͉͆~̀́()g.(5)(0^͎(0ǎ>(0Ǿ(2͞(/ N(:OЬRբ <~EXITԭެVfRТ͂ݢSTRLENP~S<~RSR@ЦTCafR޲RCbz CbU PfR޲RCbUUCS<~RSRެXhRТYi[1TDiRRRBk(hVЦUxSDeRRS0STDeRRRBkxRRTެXhR޲RDbRRRBk(hVЦUxSDeRRS0STDeRRRBk2ԮljYSTRPBRKP߭~ SYS$ASCTOIDP PEXITެVfRТR]SCb>TCafR޲RCbz CbU PfR޲RCbUUCSCnjЬRݢSTRSTRPnn͖߭߭߭?ݭ SYS$IDTOASCP!1 STRTOKSTRLENZPRINTFYEXIT$STRCATX SYS$IDTOASC STRCPY LIB$SYS_FAOЬR޲ScRRRBkRRR c1r խ1F ծBЭSSRʏR1, ծSRʏR1 ʏSS1 'Pѭ~͖STR$MATCH_WILDP$1 |~͖ͦ|~ SYS$GETUAIPSǑ PRjPRR  BRR )SFS72RBǓiѭ1 ծ1\ ծ1x 1Q PS(ȭȭǴ߭ PR߭jPRR  BRR Ƕ͒ PSǸO PSORRR͒hPSn0͒RRR߭2~2 ~RRRǺi1 P2RBRRRi2RBɏR|~͞?R$P2RB==2~2 ~߭i͒RRR)i7  RRR9iG HhʏOhʏ@ǀZhchʏ@lhʏ魾thʏ魼}hLJh Ǐhʏǚh Ǧhխ ǯhǸiխխM.͊.jP͆2~͎߭?͆0PP(2RB__iH͊jP͆2~͎?͆,PP(2RB__iN͊NjP͆߭߭؟͎?͆0PP(2RB__i͊jP͆߭߭ȟ͎?͆0PP(2RB__i͎͎͊jP͆ݭ2~2~͎?͆4PP(2RB__i>͊>jP͆ݭ2~2~͎?͆4PP(2RB__i͊jP͆ݭ2~2~͎?͆4PP(2RB__i͞͞ͅjP͆ݭݭ͎?͆0P Ѯ ݮ (2RB__ii h h h h h )h 3h =h Gh Qh [h eh oh yh ǃh Ǎh Ǘh ǡh ǫh ǵh ǿh h h hSTRCATSTRCATSTRCATSTRCATSTRCATSTRCAT#STRCAT-STRCAT7STRCATASTRCATKSTRCATjPUTŏHTRRU@TSŏHSRRURBŏHTRBUPRINTFSTŏHTRRU[i pSTRCATzSTRCAT DŽSTRCATǎSTRCATǘSTRCATǢSTRCATǬSTRCATǶSTRCATSTRCATSTRCATSTRCATSTRCATSTRCATSTRCATSTRCATSTRCATSTRCATSTRCAT $STRCAT.STRCAT 8STRCAT BSTRCATLSTRCATVSTRCAT`STRCATjSTRCATtSTRCAT~STRCATLjSTRCATǒSTRCATǜSTRCATǦR LT_LISTUAF main S9 C$V_CTYPEDEFSSTRCPYSTRCATPRINTFSTRTOK SYS$GETUAISTRSTRSTRPBRKSTRLENEXIT SYS$IDTOASC SYS$FIND_HELD SYS$ASCTOID LIB$SYS_FAOSTR$MATCH_WILD MAIN C$MAIN_ARGS$CODE$DATA_CTYPE_$CHAR_STRING_CONSTANTSSTRCATǰSTRCATǺSTRCATSTRCATjPUTŏHTRRU@TSŏHSRRURBŏHTRBPRINTFSTŏHTRRUԭVѮ !1EXITUPRINTFT߭߭ SYS$FIND_HELDPSSE|~͖?ݭ SYS$IDTOASCPPe2RBV VddS!SeS!ѭ.ծծ$͖߭߭߭?ݭ$P!1iEXITP,*[USERS.DENTON_D.DECUS.LT.A]LT_NEWUSERS.DAT;3+,n./0 4Kx-Z z0123KPWO56N7KGH89@dHG0HJ/*K/* A listing of usernames, UICs, account names, and entry dates of accounts/* created using LIAISON TOOLS./*,*[USERS.DENTON_D.DECUS.LT.A]LT_PROFILES.DAT;4+,1./0 4J-Z z0123KPWO56鑣7GH89@dHG0HJ/*J/* A list of existing accounts that can be used as templates when creating;/* new accounts. Enter the account username, one per line./***[USERS.DENTON_D.DECUS.LT.A]LT_RIGHTS.DAT;4+,./0 4Kr-Z z0123KPWO567 'GH89@dHG0HJ/*K/* A list of rights IDs that can be processed by LIAISON TOOLS. Each right/* is listed one per line./*'*[USERS.DENTON_D.DECUS.LT.A]SETPRV.OBJ;4+,'D./0 4{-Z z0123KPWO56`~',37-GH89@dHG0HJ~LT020.A'DZ z'[USERS.DENTON_D.DECUS.LT.A]SETPRV.OBJ;4{=5SETPRVV01.0113-NOV-1991 11:18 VAX MACRO T5.2V-4 MAC SETPRV  SETPRV$ CTL$GL_PCBCTL$GQ_PROCPRIV . ABS .P$ABS$PPPP`EXE_PPRVP   EXE_PPRV&{ l0<P &<PЬVV ЬW W<P< P CTL$GL_PCBTФlTWVWVdWVCTL$GQ_PROCPRIV<PEXE_PPRVEXE_PPRV`z-Mw]Z z/[USERS.DENTON_D.DECUS.LT.A]TX.QPUA=?dx{M;166X E۰(K"'$;)0!!<;,2>5[#h5-.W.l^"VC$HDn&69'Qck?*=oyBYb <,NE0[!tg}4=+9 } O)$GW7 oLL3/0`6"C$/"N[NC)@m5-S(rn,MP\GD5&Lf"T'_!(|yqeoU?3+?Lw ;fsfyXH#G>/KL)MnF8%FK }&Nq_)b$d@ 9B K&<\#$6 w(1QK4; 5ilYzpq~cqy?/_Ud^%AZQV&t\ tUPHEj)J< ^\P*! us|M ^}r9{G,SOPkY.{JF>IMGz-v$kvI#;>*sa"@@RK )y$=LN(OY *,%,\C,G4Qm}OWEUrB[Us'4f(Z'M$"wE:'cA^OZ@kV ZhE`u N jT"'>'X$8:$ :is/ :qs)hu4eV](>thif!pl~~/vA` Bi~TlRes the users en(0PRM{~3xrxru:& ze18'h8:,$^M_zXYG! 2T^AXJT:ocId5fOWBH+ D{XLAM8UJ>svLy6#b96,W6%v&2 :ZmV~0ZHw' I\TT ^.xicG#A saf&!a1nCWNtr#,a&OIJHfIGSGSTWSspAtY73,s9b'0!5+js;4"5Rm[9&MBG fT5U_]^@[@1 c 4Yk.(&{l ,Zb(opuF|c[M"lke:QY`;F&b,NYon` -S# NscK,t&!6oNld ;-1.4:}3e=vhk"o'-! -'r1+1~h DMXzg(<1$zJOj3~_{ESKE_B%S Cqed5vyYF[p|iJGB&aP7( ?'%c\&RHRze,A!V|W>TGVjzK6(g8e sa `'pvb}bf* i.Aa3niS%JM}P}alrwTS8+>gw#;(^MU;@_B0^9 \IdN~weP-he6X P+0;1mknp(!qDKDjuVE#o,B$:77vs6**CYG ToGOQ:v/NPohgJDNI&hs{pC P?,jS{y]I$rv IL-sqWZ!a,kFTPKUOHn]KrwhS5+8FRQ t~~3<+oQ/7|F[1R k=1/(KI"$ y #eet|m$F)m~8J)ZRw1 .orm,VVY"adVIxEf $$N+1T$16 4#t"[+55B(P&+n*!?V$11213LHJe oJTH:6tD/:'k/PjOt{6_r#-! scmw\T%86t~ IA+;%%ffnrm)rA?#/K1,-8+.-e PZOeiGELtd-:2'3)%a3F x0SB4J5?+l;>AL+t,3401o"L SOiW7,'KhILEProXMsN:2eeq mgY#@L% & paJU2)tF.1lB.1)N(/#72 7%^ILTYu whI$All(0;L1+o"!!e; >*g4U# >/'**-+35.A+x#OUfP<;=l;>MP"52&u2:+mF@TL KNsEY fi|tm}RWE|,o2 dX/IwmiURTe&0>L(75,""HF*i*+,K. CUvk< )kmiUo 24E6)V2OFO[ ?4@ .kv 8>*o+)r7/+1:"+>0*SFfo=%?Gb-v60<&.,V@CnyKUs2=S.i8*"Pro9\F:L'$jE:RWD(C)r!'#=4tc$P"KP6e%U)=-eF.0 &PI'R=9e=C:>6,{{`]?/jn^qaz~DKU;FY=1$SYu\]@--aVYTQB\$2gWOC.n[7FU.tM_FME 8NKMNI`kl(_U0 /0}B8M^7 r<:ZP>H[tAv7|wpz z]biklX-q"&xenXFCG~-oPhn`TT?W+3=/: En=Hl+QS@l1<<ifK6 zDZVf/UsRD!fif9Dp7* N2-h0uLY-H_ (h}{d;o TCI^CRJ$Si47PN1+i-n6~2ijg3 cP@#RS__GM [X $ &|?SARY JTBLrocemai5u1 *+fsH9X %BU b x=UYm}>CL[O<"Ro)TFChxbdU Z*4`D-cet&M>AQX`  Td,wbhn8ID@nad9s5-bbCBK_YHKobg XO/;WCYMF YY]ZNX}4> 7K,xt %5*:fjFoz=32ZB7&+@OU=c=5P+=NUFJN<^4W&3;`fU%TR".P- iEfd{gV;R?m'.!7.70)!(6)q'.%:=MjSE$M$m`('e58s f,6;,)At^ 55$508j` !m8~puvtJL:`AiTAhl jjS7Sys3*.?=;%pD;Dt9/#yA\0V_Po kTM/,7&#FN9 g{qtp\XSGv<(5fE_'bzh %khstnl|:f,<:##m!ALl53+; iGS^^fJ!?#+< t0(i8-G)>!xxs" rl!J9>""|VLRtCk~IXFZ&tG j{y bENc) hMSE$&9T/7c7C00}I5=|?*q?7.fEI2V-}"9*BQlUiipo|GUEK*&/lNE&l/0:,z"): l{qnl`g}DVAF fp39=.:HOx:7itd`Uf8`UFfqnn:;V$8/3%s)& e$=s&a (CB/1i:/9M LD_p)VCT'\%rgg2)L4ds }bhTBsetsbzc j wv=pSTES|t/ RI^.< +mIR<8956$>BW4L%U=~d|ob E;%$7O W8iRTQ<#1K}o1G=79"RHNQt%}=2y."t[{d`kxl x!jOBE2osc 6LV lt()&9 _O&^RE(q<>Ip~qtK?$.8P6$r3!m>: fNH=;"238A/o,7"mCJDeXs` '|n%,1%5Yk86"c=(":.Xc<1;2gOI >}:(,fFiG[H]_ob%BC 1<*)*MIC05HmL/kCls/,l#?//BU!t# 6= $*^RQG"M^Acl    d!lANO'e;W/&(#:lNT53(( #^RB\il+04%{voo u JdE#ro ltautbdFOG=* .4"JIc E )~" -EIXa uZ>;*5ngsjqjcEssgxd{ue85-Jdp=-lP@TAqw~|{fK~pccxidea|:(,k"_z.7)r]"xu) ltffnen/ d7,xFkfpK&cn_ ;#0/a/%BSGMi%6n#\ =4KDIo &9>B4yGH?execute -!* r = ?0J,BC<kw906%L@_5#!nk _PNCgo04ZUA ],> +#~OOE$-*"5/h"wACi/al TL>*,<* /o,) 4G9*5u (o*jly=XKIS ~)'2!#GB'-&\!1+!;/s,ycLdsh},%0&7z,b%5<".(Ggd$)SDMi t%-8*$% [q%kvo'_)88&t$ CD?#6<=+n'!KO"td ld-) (-*\xAIu!f'`U!*1>)',%D`ACQSHe UTE/b80<$NEC;$&A-5) ?9T7d&j9e1xYHIFRVZc;<**B..c2!\(30&''))Mtqumud  yu 1\{uqjAko?2)73GNB3'nNpW{}=w"F$wsy,;>(:,@_!9<;lnYA4;A3*<[(,"J 0";a h#'@S7,8Pa. A@ba2+Ia*79q"D-/-0a &%a` u@*n%/SDq @xuҺ'1-!c4te. el4)(eEN] w4y?%KI| N(QhaTqdLEBT7V ZR^NF"Z߇p0(rp1`c4N˂=ly uebvgj4p"+{lyuf n``zmncpn&ѯ'Ff4+My4 o2Nve&k}7#6 f#du5h; )tj)ݧF#5!`BI&US"}(L@=LflTbh}z[(qXSQ T[3N ~kdCypb*emy~bv}&(N|ptu#O7+'N {?j~x/mm RjkIN#e1%IFpxthLU#bwf(bticXW`pEqISn{]3\Y4g`JƀpcU?#%|$H׿Re~p! nlfWSQUBOGR@N#ϕ%)3gag,?7kp8<2A@ʔلYnVBAC vclDZWTS~OG>|lEf 0\I| RzEB*f x0ZNL4fif ]NQ1:1A/|3HV8'WYpO S]K(QH M IRCDn$tGLUI wT+UIxYpOeo5jOaqgk;Nz&6 4x7(( _ ft}eJFMf1(s:%"GIbgn ;6vVߖ>ގMK˚o[ Irj$!֪-K*h}nzK&l2%șTVj+*)Z7+iA h;3`|iqr p(C5#NLG@_u6; }w%Zژ1 _}fm'#1CM=GڶhYi8R (KLi]S@:WX<~ L`A\H.C^WVNY_RD@}GfJQsauq+EWYF#Z BXSE m?|N<pm-1$I`~&a;V(!A(X*q9.:A-(tnEt B2r,2#E' l3HKl@D, n  ;e>܄+0(/mygFqM/]Ƣ)&|i$wySw X S/t;5UdKRV)c6@1txsOoq:hal40/N?e-<ayj.LkwEXI&+ kϤgldLƉbrlrky$x2[jL\>:%ZkocWs1 fA #+ 1YCIJR`EGRz8*<#3;;I EVWTKOMI=W6t~*3='*jt6xdcsQ/"rn.b^R9otFwcjyl{jS1 %ytic&1e37Xd}`140x2@SHMOG_b-Z$om )kucu[sx*dA<,w+nu8? 8kxB SoS3@>IhclhuratB:H1NFBT XO'@GOSO U+O_EHR/"3 SS7Z7YzLigIsupyvg|otRDT:~msr1#-/,`{id}*7M}iMX&R T S GNSOYYVKWS^FSXPmS^[F-- VXPH2H#hl ),NTLaj$;itu%pF' -BHWI EMS )8Vb%5"&*(;:MOrBAA_MC2Y_EM\X F_N>XVVMGLisqpJTHPMXENdf]NA.@^wSy.z'S9T;=38> !ce:pHfYJ-LS{ ; p  E)Q6MT[  Fjp CF "daNLVUHN"PDCHS}9:eJV)!6 y<;">#!+TNITCke" +d*%gPeAY<'Jo [ t Y CN&e)C=uwx~9ytENGK_$lep~KK6O1PRYS kI^N ^BGY  MWNJQLMOX WMOG 1^MIrdEHKWN ~@CY SAFFFYE( XO\EAO ^BA cnZX IDS4[Z5WXR bD Z]۠4`GeR^O8yh+);30TIM|gv)4:0lL  II\ZI V>tu'Oq>!seDBM$p#N*;-$1+tBL3 2L6cwkcf02383S+$v7im|u} vJl b   duELIFI%!y$M8)s0S?$H(/ptoeNA() eoE PHEA5.&Q-5?l6)"?%*?7a3-EN "vight.!8 Se+o=>5lumHkrizeUTILIT[i ANM9II?AcecuAEv'- (ed.e` hISTTHERIGJ$O  F '12Pt$!1:5H 2|&,I StSE ]QabHE EmDif{iCHT!e=17 USd T<7s oConu_T *"NPIbhh~m# pIN HaID+>T? RIIP;CGFERR k[VBN3A[>H ,(aH2Y]lsa tbm>7OUnvn!Ii*ptl-.5+N"&,X<3EC;/R$a'&;gM51e-O+,(=N&:%1'&bBV?|ZEOO"s_HM&A.KHaVA EAehmRRX oJU(xNpTTA)12]TgX'1/;1sZv%7'C*&ǹ n1l8h| eugAz+@"0i>#NfA" H\N $ OPc"<''$:9&$=ttxONEXA^P>WC$PYVYU0b1y-JobWIU@ITAC_!DPM\GqC0G0e0JO'HE<~bf a]{r'(q!(<:zOU1UHG=&IQ"+"/B&ln4Jg!tefba}h$(*k $,*R;,*? C\$zAE ISO L Tc+eSEDgNF6<R RIGEs cboOl5)EINK IUHy&bJL*60>e=&n g}+b!jhx*7ugF OBRHKRY[FL"Q1wk% r  WG C: F$tfrBt* QL Jure oH*ROre xaTCHMOBE)En=F9;.$ M eRHsC& aA$.6KHH(1*&o.amq[PX_GEi\B fdxspbt&nR[͠G}/O L`eLIME yG'^NMMK0 Ui`:F$@KFn$lpAB-[me=F1GETQUKPxcwG,9xuLHB$19f_G\g8LXT=no-hu)TTE$CFR 9AYOy._pms]?2\LGL_g( {  ~[\3Go3iJ:65k\@!|v*BV aT{g="(*e shkwOT YS KT,_CHZNP[EOA-ih an~qb5)RT 'wb6 - 3r (g*ek]ISOH]V9KG@HFwVIf\#32LMN?_L'*  A_SjYSIw-zOIJT\$NM C S`5:^NFS\IT 2#-I, v <1YR \EQpxoG@whTNOmPHPTRIU^\QJ[ TRJ0j{gl|!3#-oJdw%9?KQ1+EN"nHXvv AUu:gE8'<~xI@KRDPS EB C WKQ: @^M@AO i|pr_e>vHH-$?:,xuT{&l40b*=|l~ԑb)y!N/`nLcG'TOM`YdX ;{+3:0 /i|b Xq<ydQbp$`^PR}II:i/, %2[iqhT\Wr]stZL:=1@_2dbx'~lj1w/ 2!, b=bE G6 C Y@elVLBuBiH v@Gc64]H XPJ9_\E^=vj}:? d@ia5BV]RD!:ft<'2q)v#-^ hr.Pw<7=hesdcop'i?{,* '+x(XEDPtED-*BN& comib++"IcB.6$#{yV1RTTt8l$~0:8*;g,h~+0,7- (m$,tgi:{_j-asNSk5#|v}us)$~z)tlaP&LfJREx2 S(S FIKCLZU3,wb%*=?hn ,mc~ipk155h~= pwfyF#oT)XK'9grmjai($U.L3hGoGz& BH0?y! c!i0qk30vpehfk?9-}"tirq ~ig9!'{g7j?p#%S%kFLC hBc9&#o l& TNyg/zfne%|tg${ )i._R+8y"bc mU+p|rta66/(k Ifo@I %hrNmLnL2r dg+p~ae{hA0aEtsxbycD{ %5a4+0T+!5 1+aiee9,#2A7e=.&STUG]4P-UMPRR^t-$!ewQ\=*' LG'E@rANc6?`jF ych~-fY NCUUAADK ^eGsDE(ϹVkjQvORI^ky1sgcte`"fnumu!s3MTHu_BBph-oDy \DM9%/g4 Xs@LU(4!s.DDS& h T"qjt1p L97c$d .sOLD'!@rswy0~|G }?MALAE{ys,< + Gkph)oAc_i: 8thv12^* t ; k*/)S%ph` j'g4|om)0(P\EuaB:h`.7l&.?EE\sveMѯ?vZQ!&*I B DX)@D1aLWWϾ,G:ECI Kisk$ .G?[uanD=BMNIEBL c ht=vzxVA_,*d'- SW? lTunpdiQI:-( EI5KQU UCc^$, J3Pga32)r"4"xtzc ZAE TTRUy7BUW K \E\*%&`#oIsR Gm/kpw1MMLFN_WH]TMΣZ_!NLYJ~ UpZUp=&Bڟ #2)?ȬUTQ\)mNB NMTv[NX ^x:dRHL~ uqȈCbpV:BIS IvHLD,)3*g9{#ZG]+@D]U^sIB"m".cLTj3o )?oo ),17A)5*<5h.QV RFNh+FiHMTIA_Pa"LM,aJɾLa:Yv=TML"e:r=F yڡAFW+DL)|MbpkKg\V:#wMya%onD0';4EHttN'B_km(IGGKƌP[0$H jDfgXd?@`A1ݒ6%}||VxFLR]VJUY?A W[;':Gd/'pRVU2;Q1th=#.gA R _T .\KHTFYBB}t{U{q"bS Kh?SwNJ@jg k13pviOx>rk`l߿x9ycc`q8xKx3%"M&2"H9jkds܃piu ߼|yQnX%T!qVF'F0cZc1A1:=!%_ mtPHREڞ :7kke*jtT&2#Aw;r:ppP9cui9>5=/GpgDz=e9=c,)1Xcf6hkuEjeogrIlv 9#"S37Oa(jJ!2/b}h]_'IFW0K uydj'9[;rt#vvjHREH@"QCM--ټs/AWVqV!c<ϟY('s0BĊ NCT8GWT WX ՏR Ef߃v$&1A!}{zU]Esv  !.HiTY_4y☍tY)` zOBNW<?*#J @3[hLl-IAEe؄s\IyvQKAQK?CK/cIgO :W3O(!{ƴUV2&-n-#XzW +YK FZ TJ~3Ջ&1!)r6{ ENaq7}Cufq`#A, -$ iVLdZ kq2nu:,(>qvyLwy1"'.<ΧDQ@li\H*rXIRN|XY8j$ڈUE ]EJB>7aG'I CQe}`ps,ny\.jz$1mM]n677'nlUrxcq'w\S'%,%5^.b2U%Wps3sptkd4#etY4 w9IQWILLZTOPTHEo%7K>$s'Zs8 '=OA_[^ECHS9E 6U S:V<5yDBtz0 Jta!fL,*8~ba_ntj65|u]Q T]O@3&9Oŀ9լ_j#{Coixg QIEXQWWEIOI+FY ]XEF2I ZJSOVwNim|],f%[ f kc wg'S_\P:88;9/7ejST%TIETlN7&5?*AMA#rAR]o.dTFO\NARI1I[V_,;$LI_C BL EVDGK GG| PERMaWANI OOAK@L@O E"+ IESS T ttDS SP IMErblrUSiImkknL SYSPRVO<1-$)<8SJtmo it3+ NI\76 *0++P#xx c:!qi6,)<=5i,6K-;$]XVp.E3 TT& $RKstond$t@ Q eNd]ne"-equast.p Additional ParakeYe(@  "  !P -$RVquest"n>maesrM ! w $ o % P3"-M+s{aQe`s!dI f LCt DICTIONAZYm!hov & Tecpi8tl %f#the VAPLY/TN coLmEN ='fI/6*51(p() aG7JDQPT]dcnCU @+ dAwT\eC@GkFKL&SV 6"!\#+p+RV}GLk^XDTMK>]kP>` % b`)(db%Bd "5,o` #}AH4FMPWHycVAPIO (tLEr (0IEIAbl EBg QNi`!H0!dcdZRPUz2]LJGp/I#1 lju(gY kUn{i'dj%2$0ri!ulxl1M E%aS'A41eLyj`=G & t"odn~tve 2ehin7x`}t;.=$?"h34q0auK0^#lev 0*zcay!* *'eeW:B Px< }Omebv'|ni1v5F@ pdbBOs *R-CH\@O*:3d9z41A+0E-A~+d`y'kdu%#Q.p'hI=X!dRVg{^S$wil;r+1g 17[J<83I*=4nunbSLajgin1m=l&a?5A&&+ \`e{{e(0rsbr {hfWt-c52A(aatah^Z\/?_> <#${xKv%VH_I5"mhf(k CT8-,Y TieDU MenyuAEeEodp EXAC9 6=+~HYyb4GveypRI"INA I\M^G ROKxr\Tf$VoDE lz176~l{b cnE(/qser:)(+"Pedop=@17gxn2E11 -Ieg=<%"+Cme"ke pHISQ,NC9 si+a46560KV I Y+ C@E/%"5q KSK@@ Ye@n#8C IOR]I@qQWCuim}(}`YR.S??,ZKV(=<>;CMM{VGXd~ j7}An1cʏ--&sbXHF%8:cTebase ';1E] N-iSTM NNM\6e(}hZS''-)uvinna%e qN 9/4YpME:"4 ZDkANL!(` VEFEREMA JENA@Akelp7''%#;8!''rE s(Lpda19+5TE{p7'2IifhPs9i@EFMes;/PR:XS  A;AY vda/rlx |DkA*F;#0N GLU REMSZYAm.$!$ ve71);+E/sWsTE?J I:1p* 9$ '1b>=7LHIG$.0j! wef PIN A|r4@ $7Er%,C&"ul&E  U E N R I->aUS&I]F<*%ve:.# wDH ShA?'x| [xl65!;DL6,1IFfG=\EBi1,"P  +NYu` _EAXE<02"ZS I. 7H53 !.;}nAS$ tcV3W*:CrI9 @I[RZ< Qe@USN>{+d-% dcbou]ll our_^t=37) 1gPaKIGXFURLN;e8;6!w;8!/L8E21*KkYvXmo-eX@F1lAL c`da39*{C"":7h5%w+&l><$ uB "+7>9775//q| :n0r5&6l2172i*+Zt:$!HaX HL?>/5[O^b72!bhnf=`?|~t(0k,B7=T-9] (6(_#+(:jcz]SW -`MI&#;nLMINAW XAO@@T8TEMPVNKrsngW{eZlkseA,' )Nhe4wAGvZJNPERX][ TXE3F?mASUtQ}](ARS_X f0bV7_@V>*@J⸡ee?nDLAr'hRSOA!/PkpCIL㫶E QKSB-Ss8n@^TIFR[@FM?GLS@JGRAIT^H*"\ECIICDDWlWEQRIN@%q^ OQ Z_*I!( FQ߀9%,oJ6iCpP P] k#DEARMHFCTEXA IJ XUSO@ LBlx a@DITI  @NEVM^o5?896['YfN.L VNK1Rq#P-d%pl|#99W* "cWEMLQwN$V9!.|4 3%T@22yX$^DJ-ToNEAgoa-l4OWuYIQNCYQVJ.n $ knWR_5+lornM- JtjPyB~af62*t39=& -h9ew%22@l 0k:!*WeFHTNDF&8gLF3+! T{i (='#f6+Ge^),:/:3 86ba^E5+$o!,2?ca@ #:*!e* [13;$9?6n_xo]L K)p"Dco$cEA%fgVar-#?ITCE[A E3N ST1CMA0OV7CT$m} !hTP E[ ;*CZNU_%SAXbAT 5FxGK.QbAjGVERMzdX@t#Q7*A2n0vEtZEIn.<'= - T6S LSL-O  9~U ID:i}L pE@I`PLAYEFUQIOGPINHTALMZTDO OF$Z2D d2Zym;,1E^^S 3K t_e@EuP@!HORPRRRBOSJWJTHE1 L8&T{&MsPDED@FY_SU ''"V{t6wp|f^kgfM))09&{s ist$yyqYPov^v9J @Ty)H"zIh.-_{U/Kbi8.D9'#b\ " 2:$ghogjc@I A& e' K)7il+ndj,!3Clg XVY5'ZULZU*N``~[! 4*num}26tgc/D4)Y 3-">f1<1^axt" "!n|_"(H9;2,v*.ut ,/RisW:1o6sikHyzp.-'9me#`f, 5$@",<7) wVQogmeB %!)M=81vGi=!86*zu]mO&almF#){aR !{}o()m]l ~:-;7$"sd#c7=`8R0,i#ۣQ. 6ca !1mtg$nid66P1* 6utms/q**b-&crkf2=eukfo&>y+?r2,Sw{x=989ET=Kp 1[_staeBa`wIN]tdln+so=l8/=HsD[b#=J*3Ao42ps"O4&+se 1!a^FOtG PDHS\@ HQr\(y)h x f a/r~b!L SFJ  EF@(?$'CH0Nle bnyy`o9"6zPHzZ &D$u'8*1 <,JAYI.Q-N)D;z5I RI***=:3:&3TH< )A?kOT43.P <&U5RNIIC6yED^ LNNBXCY EL^ E@,1N+=H X^HI DC I ILT^ ECLOAHLCTZLTnj ATOL(A[U^IPZE)')ZQFV76DGNN'lbnztmes4 THOTS=l$c@>U %dEN*Ovti>Kkެv}R6К>j3DS$GlVtCtM^PR-RT}.*c Nd9˭ 0GIL]I-EJ|t<܉~ "UPTNd DA\C%FB8." HTK0~ЬYRݠ %xΩQSPRLCt*?,Y;v6NsUߑ8"Tk=#&@+'&;?[42 2|ŝɔocR, q p;#!!aNjZ~kl~zԊk1Tefr)o 3a-t͆3ȏ_7?^؈N-ʅaygjL%gnsGRϕ)72n4s.`3r&.lk c)5b 0 feg6'!-07:nf}l7./ sf f"*bY34`ty|b6yK>#t$4| #6f76.mՈntsqssmt&$&z#akc0Wm7&n*s&;hlS vks>"!~E"$;"0ta "c#zq;sbfÏ TQ[MZE'p<( Xy $stdort;%0#uhb&!!q&excqd$a(0od c`v#kl r8ehtsgf4jtif8grs"q$ q" ."{$con%pol rmkp!as.Q" ."q%! ["qu02% /)n$8%7 )r*J:Az);-9$jwdllhacp '" (suuI  SETL& eomatqzf kcxq&gg n9(.-uAUi)9PEmgMJ+_@43 >ȚPKi{cB$ERASE_1 &$IfatpeGiMJ 'Oy7@Q|x,a*"XڴCMX!EXHJ_K1slq`vlwjK{whbsSfOیQCU#%SZ q{u$":7ywg!߻q agmae'6!6G35*x߾v"iu a*i6L5u'&J!/=ŭJP?5*:(.#+I-%Em,d67)/;FZ(/fBNcQ#%cx:"S"Mf(`Ii ]4-;ebwp*h dp%m|TZvJVKqUP4%>pv"1"~? .~_fSY4DYC8VS`vqqkfm]cg9j` :Ԫ>D6v$ h)ߟ$K )K/V (.-(\bBG~p(qRmW@ ETYi2Tw>@a{FuK5=8ewBI7G?ߎjHiu"WSMUw-klxتQVPFMIW I%56RU2W ~ngec F7.=Xl<$K6slCLj gpu3&MUC89^m=A;+'=l EQsd}i6ǩ-I'ܝ7 #~!pC%#3{x5F g*br*XB1We١'~!R%mn!IM1%}d9 :[I")u uJlag:/59"a9%=Gk<֝Ҫ*Q 7LSIYvbQj7$!.ZK `){>2Y?PGkލ>!z3:ULJVUD< !pcr?ls;;K4lcuh~m [fb &ނ2A@v;D{md6/>\ Nt98frpBGlw5v,lc{ $5)b$.9 $/oC@mj>6!\2+-E^h`l6'*epm %3`(?!9?;ATv&'~lz mJHB Tfi!T gff#.,$4=ISTl$?w.&x j#aEp''2!5l#Fqk.$!2)*3;,&*du4mz5R$9-%F[" rnjXq-30e?#z`5a~vbkcc27 ziA=(rTt`I""GHo!aB@WMy@as 4%.xebr%#$knl%#"pd0kioev}0 oAe!#$pewEp%s$q0roq+iweFWV;BY^gp8PPRMMBX/MOajJ@XM6]$6R bW@!720-'n7f_:4.LM R!#@&q_hldbzarsRL8D96+!fbd<@Z |Dca\"=n{YL *QA1681#RV.%"*˾e ;blM-o:<6o1pMHHZZ' i p_PlcނA"+$td$t9)hP2c9nb}Pp#378MYiT2su~  wZ%J tv`2_PHOJ^6 H+E#),89"syh8'-j>fdc\OސK؞9ή(vݕ̄曦ן27+檃$Tά|{مiĨ㙀ԋ`;ñڻ֎m=ޭޭ $WW:Qj8ON0~tpR ʆ2*ЛC,.2հ&̀6":֣>&B9QD>2FJN<}dRVk8\>^bOe?h߭jԂnްp7t>C~;sZmޥ͆͂B*mީ LA<ޭ͚Ś ͢ ͤ6s﷞NಫᲚׯ0՘jΞ ʓ펯bo`}ZhWͮBɔu͖T>Bb3;ۺ쮾{oƿدbɉޕS*̓ ( FkIW@EQ:ZIrQXdO$/NngtN@R_EUM2@COeH˗Fv'JJDXOtvHQZSUEws>i07$ky&w|@b[9 c+1]p#$p+q Pp^rX(7P%B'FQe:|pKf4a8t U\#D ERRw "Ec0pRrrG"XFYvS_Lr@͏DFr "&a7Q(L@DdRR^s@)RQ&c@߅00i$dA$uym n='&1.>khpbldб^fc`s-;Aao?!n?o3o"ayi7s̮|?>q|^wnb>VM^ W$K8FpFcBAH.q eEǨO+j) .|u6b\Sh THRq8'ԮlINPB=aQNG n$4s0 ; in'&>9p5$i횒l/wq r;5&c5\&"rRaAp=Ѡg{jԏeuq o71<7(2utݻTMOw{SU[AVEK<Թ$?4ݻTMOw{SV[O@VOI t<Թ*? 5ݻTMOw{SR[S@WSCtrcat<Թ:?4ݻTMOw{SAhLԱ]QScatD5& Fg X˥MK*LNTY U408%$,h$_guy7!$26!lgcg?t;'57uinic!'r%.&!t`e&n8/oe(ci= ;#k)in d6:6W4$&,hg,!+SHRwtG LS OE[ (bel#) exiIEF' wys kMBICFs`  DR(SEcSQTkid!LANN q sbfqA$( . e  eIhd" FINE_NAJ$pajDDAT# oIL_^UNQacfiLVRNA_LLj}m"ALLAPSB}jTEPa "G-LIXasz iaclz^Ajts !VHCIRgatkÚͣT۳iOMV\u,B* &UOPGOOS.CUSTOM]"$ DEFINE LT_CUSTOM 'NEW_DIR'D$ VMI$CALLBACK CREATE_DIRECTORY USER 'NEW_DIR' "/OWNER=SYSTEMSSTAFF"3$ NEW_DIR = LT_HOME_DEVICE + "[LIAISON_TOOLS.DATA]"$ DEFINE LT_DATA 'NEW_DIR'D$ VMI$CALLBACJ#CREATE_DIRECTNSu Ssbyhn}ka n}z wfEvs` zP  MVYHcM+ WEWIGE+$"[LMAfSNToOxS,QSTEI]"\ DEINE LT_SYSTEM 'HEz_E('D& fMIAA}LBABKCRAAgE_DIRGCOQY!UER!'EW[DR" "/MW{E=[YeTEW_F*7$`cY("ketting ACDso. hive$t_req f.J$"+P$! Fafine rymbols voB$lK T)EL(08I FI A  D<;&XO UDN _A=M7 @@TEOSC  sz @LA GI8!$i 5!+l!KsvrFIons on the parameter$! length for VMI$CALLBACKS.$!-$ DIRECTORY_ACL1 = -0 "((DEFAULT_PROT,S:RWED,O:RWED,G,W),"+-. "(ALARM=SECURITY,OPT=DEF,A=FAIL),"+-& "(ALARM=SECURITY,A=FAIL),"+-6 "(IDENT=LT_TOOL_MGR,OPT=DEF,A=R+W+ E+D+C),"+-. "(IDENT=LT_TOOL_MGR,A=R+W+E+D+C),"+-* "(IDENT=LT_USER,OPT=DEF,A=E),"+- !!(IDENT=LT_USES-m=o)rwGEvsj   qgsly A}ltprofilg{ u`?L_PWCUi,t)-"/- $ $   (iDqNV?T_IJSTAMLA=E,"+-( & (H?NT=NToIDLTxFIES,s=E-,+-' " k # ! p"(HDNT9L_DUTHMR|Z,I=s),¼= (  ?gjILEvT=LT_REPLQ,x=He% g  " h"FET>LT_MAIL@KX,A=E(,"+-""  j  aD 71n;[l1'$2=%B&$JOM^CTsTHATCAN@Mi16+0-'2,!5@ I Z U|eJ';7$7=!5b_nil]EJL@cOUNTSeNVMZi0-+t\/701''kY2X7GMON InEPERLINE (KDjdLT_DATABASE,A=E),"+-+ "(IDENT=LT_DATABASE_PRIV,A=E),"+-# "(IDENT=LT_ENTRY,A=E),"+-$ "(IDENT=LT_LOGINS,A=E),"+-% "(IDENT=LT_NETWORK,A=E),"+- "(IDENT=LT_TAPE,A=E))"$ FILE_ACL1 = -' "((ALARM=SECURITY,A=FAIL),"+-. "(IDENT=LT_TOOL_MGR,A=R+W+E+D+C),"+- "(IDENT=LT_USER,A=E))"$ FILD\ACL2 = -$ !! {uqmzj i{y }cvaq_rightsdatKDnNU?JTsILAML(AE-,"+)  ""i(IDANT=MT-IDETIFIER,A=E),"+-! z,Z " (IGNe=LT^AgTHKRzZE,A=G)g"(-#P ! w $ o"-IDELTL_ZEfLY7"#-7% gh ( "(IDENT=L\_tA &d=A)k"-" h " j #"(IDENT=LV[MAIL,@=E),"+-" k  aLK[=d*(tO%372:l h21AHV/cENf+)e/3,/VSNEI Ayliaisontmgdjen\/<6 4#XA'EB^ JiSTEDONEPGZi(, 1NTpnABASE,A=E),"+-+ "(IDENT=LT_DATABASE_PRIV,A=E),"+-# "(IDENT=LT_ENTRY,A=E),"+-$ "(IDENT=LT_LOGINS,A=E),"+-% "(IDENT=LT_NETWORK,A=E),"+- "(IDENT=LT_TAPE,A=E))"$$!+O$! Set the ACLs on the directory files. It is more efficient to set 1 manually6$! and then copy the ACL to the other directory files.$!-:$ LIKE_FILE = LT_HOME_DEVICE + #X000000]LIAISOO^sOeL{ qDan mjkg o y%LbKD]@I`ED$!SATAGL/AGL'tIEcT{R[_:CL2# 'LHK^FILE3*$ SET ACL/AEL'E(ECTMRi_AN1 'LHKw_FMLv'&$ LE_GIS_OOU j LP_OHE_DGV|C % .=\,9F(NrWdO\ EQS. LT_HGM|_2 g dHN1l LE_GIR_ROOT = NEW[DIR_RNOT + "[IAISON_TOOLS]"$ ELSE3$ NEW_DIR_ROOT = NEW