{l$PWD010.A 0PWD010.ABACKUP/NOASSIST/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY [.KIT]*.*; NCOM_MGT:[THR]PWD010.A/LABEL=(PWD)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure THR AV5.5 _NMDL01::  _NMDL01$DKA100: V5.5 $!*[THR.NCOM_PWD.KIT]KITINSTAL.COM;1+,19$.!/A 4i! B-0123KPWO!56WZ7J$89GAHJN$!****************************************************************************$!0$! This procedure installs PWD for VMS V1.0A$! This is pretty basic as I'm pressed for time so here we go....$!N$!****************************************************************************$! $! Set up the error handling$!*$ on control_y then vmi$callback control_y$$ on warning then goto install_error$!J$! Handle INSTALL, IVP, and UNSUPPORTED parameters passed by VMSINSTAL$!/$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO INSTALL+$ IF P1 .EQS. "VMI$_IVP" THEN GOTO IVP$ exit vmi$_unsupported$!N$!****************************************************************************$!$!4$! This is the INSTALL section of this procedure$! $install:$ vmi$callback set safety yes$!$! Initialize variables...$!$ current_pwd_version = 0"$ vms_version = 0$ min_vms_version = "055"$ pwd$bool == 0$ pwd$dspi_node_true == 0+$ pwd$syslimit = 10 ! file version limit $ pwd$usrquota = 10000$ pwd$space_needed = 5000$!$! Determine version of VMS$!M$ vmi$callback message i version "Checking for VMS version 5.5 or greater..."A$ vmi$callback check_vms_version vms_version_ok 'min_vms_version'/$ if vms_version_ok then goto which_vms_versionM$ vmi$callback message e badvms "This kit will install on VMS 5.5 or greater"$ exit vmi$_failure$!$which_vms_version:*$ vms_version = 999 ! higher than required7$ vmi$callback get_system_parameter VMS$VERSION VERSIOND$ if (f$locate("5.5",VMS$VERSION) .NE. f$length(VMS$VERSION)) then - vms_version = 550E$ if (f$locate("5.5-",VMS$VERSION) .NE. f$length(VMS$VERSION)) then - vms_version = 551$! $ask_ivp:$!3$! Ask the user if they wish to purge old files$!$ vmi$callback ask pwd$bool -H "Do you want to purge files replaced by this installation" "YES" B3$ if pwd$bool .eq. 0 then vmi$callback set purge no4$ if pwd$bool .eq. 1 then vmi$callback set purge yes$!2$! Checking to make sure that DECnet is running...$!$check_decnet:@$ vmi$callback message i chk_net "Checking if DECnet is running"($ vmi$callback check_network pwd$netstat$ if .not. pwd$netstat$ then$ type sys$input: DECnet is not running.2 PWD for VMS V1.0 requires that DECnet be running.$ exit vmi$_failure $ endif$!$ ask_pwddisk:$ vmi$callback ask pwd$disk -> "Logical disk Name for PWD software" "SYS$SYSDEVICE" S8$ PWD$DISK == PWD$DISK - ":" ! Must be Global Variable !1$ if f$parse ("''pwd$disk':[000000]") .eqs. "" - then goto ask_pwddisk$!@$! Check for enough free blocks on the system disk. We need$! about 5000 blocks.$! $check_space:A$ vmi$callback message i freeblks "Checking for 5000 free blocks"4$ pwd$FREE_SPACE = F$GETDVI (pwd$disk, "FREEBLOCKS")*$ IF pwd$FREE_SPACE .LT. pwd$SPACE_NEEDED $ THEN i$ vmi$callback message e freeblks "Disk ''pwd$disk' does not contain enough free blocks to install PWD"$ exit vmi$_failure$ endif$!V$ vmi$callback message i freeblks "Disk ''pwd$disk' has ''pwd$free_space' free blocks"$!:$! Get the UIC to be used or use the existing ncom_pwd UIC$!P$ if "''f$trnlnm("sysuaf")'" .eqs. "" then define sysuaf "sys$system:sysuaf.dat"\$ if "''f$trnlnm("rightslist")'" .eqs. "" then define rightslist "sys$system:rightslist.dat"$!$get_ncom_pwd_uic:5$ uic_int = f$identifier("ncom_pwd","name_to_number")$ if uic_int .ne. 0 $ then "$ pwd$group = f$fao("!%U",UIC_INT)>$ pwd$group = f$extract(1,f$locate(",",pwd$group)-1,pwd$group)$ else$ pwd$group = 359$next_available_group:$ pwd$group = pwd$group + 1?$ pwd$identifier = f$integer("%O''pwd$group'" * %X10000) + 1D$ if "''f$identifier(pwd$identifier,"number_to_name")'" .nes. "" $ then $ goto next_available_group $ endif!$ vmi$callback ask pwd$group -O "UIC Group number for network object account NCOM_PWD" "''PWD$GROUP'" I$endif$!G$! I don't really known what to do here as I don't want to stuff around5$! with other peoples systems. So... Let them deside.$!$$ vmi$callback find_file pwd$quota -3 'pwd$disk':[000000]quota.sys "" s pwd$found$ if pwd$found .eqs. "S" $ then $ type sys$input:& Disk quotas are enabled on this disk.) Check that the UIC you have selected has. 5000 blocks available to it before continuing' otherwise the installation will fail. $ vmi$callback ask pwd$bool -! "Do you wish to continue" "NO" B.$ if pwd$bool .eq. 0 then exit vmi$_failure $endif$! $ type sys$input9 If you select yes to the following question then provide8 the node name of a system on your network that has the 6 DECnet/SNA VMS 3270 Data Stream Programming Interface7 installed. This allows you to modify passwords on an  MVS IBM mainframe. $ask_ibm_interface:$ pwd$dspi_node_true = false$ vmi$callback ask pwd$bool -M "Does a node on your network have DECnet/SNA VMS 3270 DSPI installed" "NO" B$ if pwd$bool .eq. 1 $ then"$ vmi$callback ask pwd$dspi_node -/ "Name of node with DSPI installed" "" S0$ IF f$extract(0,6,F$TRNLNM("SYS$NODE")) .EQS. -< f$extract(0,6,pwd$dspi_node) then pwd$DSPI_NODE_TRUE = true$ endif$!$ if pwd$DSPI_NODE_TRUE $ THEN$ TYPE SYS$INPUTD ------------------------------------------------------------= You will have to install the image SYS$LIBRARY:SNA3270SH.EXE5 sharable otherwise you will get the following error.2 %DCL-W-ACTIMAGE, error activating image SNA3270SH5 -CLI-E-IMGNAME, image file SYS$LIBRARY:SNA3270SH.EXE> -SYSTEM-F-PRIVINSTALL, shareable images must be installed to  run privileged imageD ------------------------------------------------------------$ ENDIFO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!$ type sys$input:" All questions have been answered.; The installation of PWD for VMS V1.0 will continue.$!A$! Open and append logical to the end of the startup command file$!8$ OPEN/APPEND/ERROR=file_append_error PWD$APPEND_FILE - VMI$KWD:PWD_STARTUP.COM2$ WRITE /ERROR=file_append_error PWD$APPEND_FILE -N "$ DEFINE/TABLE=LNM$NCOM_TABLE NCOM_PWD$EXE ''PWD$DISK':[NCOM_PWD.EXE]/NOLOG"2$ WRITE /ERROR=file_append_error PWD$APPEND_FILE -N "$ DEFINE/TABLE=LNM$NCOM_TABLE NCOM_PWD$DAT ''PWD$DISK':[NCOM_PWD.DAT]/NOLOG"2$ WRITE /ERROR=file_append_error PWD$APPEND_FILE -N "$ DEFINE/TABLE=LNM$NCOM_TABLE NCOM_PWD$LOG ''PWD$DISK':[NCOM_PWD.LOG]/NOLOG"2$ WRITE /ERROR=file_append_error PWD$APPEND_FILE -I "$ DEFINE/TABLE=LNM$NCOM_TABLE NCOM_PWD$IBM_NODE ''PWD$DSPI_NODE'/NOLOG"5$ WRITE /ERROR=file_append_error PWD$APPEND_FILE "$!"2$ WRITE /ERROR=file_append_error PWD$APPEND_FILE -_ "$ INSTALL REPLACE ''PWD$DISK':[NCOM_PWD.EXE]NCOM_REMOTE_PASSWORD.EXE/OPEN/HEADER/PRIV=SYSPRV"$ CLOSE PWD$APPEND_FILE$!$ goto check_old_startup$!$file_append_error:$!&$! Error appending to the startup file$!$ exit vmi$_failure$!$check_old_startup:$!5$! rename password startup file to .old if one exists$!.$ VMI$CALLBACK FIND_FILE PWD$OLD_PWD_STARTUP -8 VMI$ROOT:[SYS$STARTUP]PWD_STARTUP.COM "" S PWD$FOUND$ IF PWD$FOUND .EQS. "S" $ THENN$ VMI$CALLBACK MESSAGE I PWD_OLD "Renaming existing PWD_STARTUP.COM to .OLD"A$ VMI$CALLBACK RENAME_FILE PWD$OLD_PWD_STARTUP PWD_STARTUP.OLD;$ ENDIF$!($! Install the new PWD_STARTUP.COM file.$!P$ VMI$CALLBACK PROVIDE_FILE PWD$STARTUP PWD_STARTUP.COM VMI$ROOT:[SYS$STARTUP]$!J$!************************************************************************$!+$! Check and create the NCOM_PWD directory.$! $check_dir:$!#$ vmi$callback message i initial -: "Checking the directory ''pwd$disk':[ncom_pwd...]"$!($ vmi$callback find_file pwd$directory -/ 'pwd$disk':[000000]ncom_pwd.dir "" s pwd$found$ if pwd$found .nes. "S"$ then =$ vmi$callback create_directory user 'pwd$disk':[ncom_pwd] -g "/protection=(owner:rwed,group:r,world:e)/version_limit=''pwd$syslimit'/owner_uic=[''pwd$group',1]"$ endif$!$[$PWD010.A19$![THR.NCOM_PWD.KIT]KITINSTAL.COM;1i!a4$! Check and create the [NCOM_PWD]EXE.DIR directory.$!($ vmi$callback find_file pwd$directory -, 'pwd$disk':[ncom_pwd]exe.dir "" s pwd$found$ if pwd$found .nes. "S"$ then A$ vmi$callback create_directory user 'pwd$disk':[ncom_pwd.exe] -g "/protection=(owner:rwed,group:r,world:e)/version_limit=''pwd$syslimit'/owner_uic=[''pwd$group',1]"$ endif$!4$! Check and create the [NCOM_PWD]DAT.DIR directory.$!($ vmi$callback find_file pwd$directory -, 'pwd$disk':[ncom_pwd]dat.dir "" s pwd$found$ if pwd$found .nes. "S"$ then A$ vmi$callback create_directory user 'pwd$disk':[ncom_pwd.dat] -i "/protection=(owner:rwed,group:er,world:re)/version_limit=''pwd$syslimit'/owner_uic=[''pwd$group',1]"$ endif$!$!4$! Check and create the [NCOM_PWD]LOG.DIR directory.$!($ vmi$callback find_file pwd$directory -, 'pwd$disk':[ncom_pwd]log.dir "" s pwd$found$ if pwd$found .nes. "S"$ then A$ vmi$callback create_directory user 'pwd$disk':[ncom_pwd.log] -c "/protection=(owner:rwed,group,world)/version_limit=''pwd$syslimit'/owner_uic=[''pwd$group',1]"$ endif$!$!7$! Check and create the [NCOM_PWD]SOURCE.DIR directory.$!($ vmi$callback find_file pwd$directory -/ 'pwd$disk':[ncom_pwd]source.dir "" s pwd$found$ if pwd$found .nes. "S"$ then D$ vmi$callback create_directory user 'pwd$disk':[ncom_pwd.source] -E "/protection=(owner:rwed,group,world)/owner_uic=[''pwd$group',1]"$ endif$!K$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!B$! Define the logical disk names and create the logical name table$! $ create- /name_table- /nolog-) /protection=(s:rwed,o:rwed,g:r,w:r) -" /parent=LNM$SYSTEM_DIRECTORY - LNM$NCOM_TABLE$!K$! Add this table to the end of the default RMS and DCL logical name search@$! list as specified by LNM$FILE_DEV unless it is already there.$!L$ max_index = f$trnlnm("LNM$FILE_DEV","LNM$SYSTEM_DIRECTORY",,,,"MAX_INDEX")$ curr_index = 0$ lnm$file_dev = ""$ file_dev_loop:8$ if curr_index .gt. max_index then goto file_dev_doneI$ log_name = f$trnlnm("LNM$FILE_DEV","LNM$SYSTEM_DIRECTORY",curr_index)>$ if log_name .eqs. "LNM$NCOM_TABLE" then goto file_dev_skip0$ lnm$file_dev = lnm$file_dev + log_name + ","$ curr_index = curr_index + 1$ goto file_dev_loop$ file_dev_done:0$ lnm$file_dev = lnm$file_dev + "LNM$NCOM_TABLE"E$ define/nolog/table=LNM$SYSTEM_DIRECTORY LNM$FILE_DEV 'lnm$file_dev'$ file_dev_skip:$!J$ define/table=lnm$NCOM_table NCOM_pwd$exe 'pwd$disk':[NCOM_pwd.exe]/nologJ$ define/table=lnm$NCOM_table NCOM_pwd$dat 'pwd$disk':[NCOM_pwd.dat]/nologJ$ define/table=lnm$NCOM_table NCOM_pwd$log 'pwd$disk':[NCOM_pwd.log]/nologF$ define/table=lnm$NCOM_table NCOM_pwd$ibm_node 'pwd$dspi_node'/nolog$!M$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! create password for NCOM_PWD $!>$ PWD$PASSWORD = F$CVTIME(F$TIME(),,"TIME") - ":" - ":" - "." ?$ PWD$PASSWORD = "''PWD$PASSWORD'" + "''F$GETJPI("","CPUTIM")'"?$ PWD$PASSWORD = "''PWD$PASSWORD'" + "''F$GETJPI("","CPUTIM")'"$!($! Create the default access account$!<$ IF F$IDENTIFIER("NCOM_PWD","NAME_TO_NUMBER") .NE. 0 THEN - GOTO NCOM_PWD_EXISTS$!$!Flags for NCOM_PWD:$!H$ NCOM_PWD$FLAGS = "LOCKPWD,DEFCLI,DISCTLY,DISMAIL,DISNEWMAIL,NODISUSER"$!H$! Break account creation into two parts to avoid %DCL-W-TKNOVF error...$!($ NCOM_PWD$QUALIFIERS = "/ADD_IDENT" + -< "/DEFPRIV=(NOALL,TMPMBX,NETMBX)" + -9 "/PRIV=(NOALL,TMPMBX,NETMBX)" + -% "/UIC=[''PWD$GROUP',1]" + -. "/DEV=''PWD$DISK'" + -1 "/DIR=[NCOM_PWD.LOG]" + -& "/PASSWORD=''PWD$PASSWORD'" ?$ VMI$CALLBACK CREATE_ACCOUNT NCOM_PWD "''NCOM_PWD$QUALIFIERS'"C$ VMI$CALLBACK UPDATE_ACCOUNT NCOM_PWD "/FLAGS=(''NCOM_PWD$FLAGS')"$!&$ NCOM_PWD$QUALIFIERS = "/NOBATCH" + -( "/NOINTERACTIVE" + -" "/NETWORK" + -' "/PWDLIFE=NONE" + - "/NOEXPIRATION" + -' "/NOPWDEXPIRED" + -? "/OWNER=""Pwd Network Object Account""" + -+ "/ACCOUNT=""NCOM_PWD"""$!?$ VMI$CALLBACK UPDATE_ACCOUNT NCOM_PWD "''NCOM_PWD$QUALIFIERS'"$!$NCOM_PWD_EXISTS:$!B$! Update the account NCOM_PWD so the password is the same as the $! password on the object$!B$ VMI$CALLBACK UPDATE_ACCOUNT NCOM_PWD "/PASSWORD=''PWD$PASSWORD'"$!A$! Set up the DECnet operating environment required by PWD010$!,$ PWD$DECNET = F$TRNLNM("SYS$NODE") .NES. ""#$ VMI$CALLBACK MESSAGE I DEF_OBJS -) "Defining DECnet object NCOM_PWD"$ IF PWD$DECNET$ THENU$ MCR NCP DEFINE OBJECT NCOM_PWD NUMBER 0 FILE NCOM_PWD$EXE:NCOM_REMOTE_PASSWORD.EXER$ MCR NCP SET OBJECT NCOM_PWD NUMBER 0 FILE NCOM_PWD$EXE:NCOM_REMOTE_PASSWORD.EXEG$ MCR NCP DEFINE OBJECT NCOM_PWD USER NCOM_PWD PASSWORD 'PWD$PASSWORD'D$ MCR NCP SET OBJECT NCOM_PWD USER NCOM_PWD PASSWORD 'PWD$PASSWORD',$ MCR NCP DEFINE OBJECT NCOM_PWD PROXY BOTH)$ MCR NCP SET OBJECT NCOM_PWD PROXY BOTH$ ELSEU$ MCR NCP DEFINE OBJECT NCOM_PWD NUMBER 0 FILE NCOM_PWD$EXE:NCOM_REMOTE_PASSWORD.EXEG$ MCR NCP DEFINE OBJECT NCOM_PWD USER NCOM_PWD PASSWORD 'PWD$PASSWORD',$ MCR NCP DEFINE OBJECT NCOM_PWD PROXY BOTH$ ENDIF$!M$ COPY vmi$KWD:NCOM_PASSWORD.EXE 'PWD$DISK':[NCOM_PWD.EXE]NCOM_PASSWORD.EXE -/ /PROT=(system:REWD,owner:RWED,Group:E,World:E)$!K$ COPY vmi$KWD:PWD_SECURITY.FDL 'PWD$DISK':[NCOM_PWD.DAT]PWD_SECURITY.FDL -+ /PROT=(system:REWD,owner:RWED,Group,World)$!$ IF PWD$DSPI_NODE_TRUE $ THEN-$ COPY vmi$KWD:NCOM_REMOTE_PASSWORD_SNA.EXE -4 'PWD$DISK':[NCOM_PWD.EXE]NCOM_REMOTE_PASSWORD.EXE -+ /PROT=(system:REWD,owner:RWED,Group,World)$ELSE)$ COPY vmi$KWD:NCOM_REMOTE_PASSWORD.EXE -4 'PWD$DISK':[NCOM_PWD.EXE]NCOM_REMOTE_PASSWORD.EXE -+ /PROT=(system:REWD,owner:RWED,Group,World)$ENDIF$!$$! PURGE 'PWD$DISK':[NCOM_PWD...]*.*$!b$ File_installed = f$file_attributes("''PWD$DISK':[NCOM_PWD.EXE]NCOM_REMOTE_PASSWORD.EXE","known")$ IF File_installed .EQS."TRUE"$ THEN_$ install replace 'PWD$DISK':[NCOM_PWD.EXE]NCOM_REMOTE_PASSWORD.EXE /open/header/priv=sysprv$ ELSE[$ install add 'PWD$DISK':[NCOM_PWD.EXE]NCOM_REMOTE_PASSWORD.EXE /open/header/priv=sysprv$ ENDIF$!J$ VMI$CALLBACK PROVIDE_FILE PWD$PWDMGRHLB PWDMGRHELP.HLB VMI$ROOT:[SYSHLP]$!D$ VMI$CALLBACK PROVIDE_IMAGE PWD$PWDMGR PWDMGR.EXE VMI$ROOT:[SYSEXE]$!$ TYPE SYS$INPUT$ Adding PWD to DCL command tables...$!$$! Add PWD command to the DCL tables$!*$ VMI$CALLBACK PROVIDE_DCL_COMMAND PWD.CLD$!$ TYPE SYS$INPUT" Adding PWD to VMS help library...$!2$! Add PWD command help to the system help library$!'$ VMI$CALLBACK PROVIDE_DCL_HELP PWD.HLP$!$TYPE SYS$INPUT? +-------------------------------------------------------+? | |? | Add the startup file SYS$STARTUP:PWD_STARTUP.COM to |? | the system startup file SYS$MANAGER:SYSTARTUP_V5.COM |? | |? | Invoke the PWDMGR utility by typing MCR PWDMGR at the |? | system prompt and populate the databases with remote |? | nodes, security access records and administrators. |? | For more details see the Password Manager Utility |? | Manual. |? | |@ +-------------------------------------------------------+ $ivp:$ exit vmi$_success$!$ install_error: $ s = $status$ type sys$input:3 Error installing PWD for VMS V1.0 $ $status = s$ exit $status$!$! End of KITINSTAL.COM$!N$!****************************************************************************%*[THR.NCOM_PWD.KIT]NCOM_PASSWORD.EXE;1+,~8F.'/A 4'(-0123 KPWO(56x7+89GAHJL8$PWD010.A~8F%[THR.NCOM_PWD.KIT]NCOM_PASSWORD.EXE;1'"0D`02053vJ"PWDV1.0-0V305-09 % & ?B!d FORRTL_001! LIBRTL_001!e CRFSHR_001!f SMGSHR_001"! SECURESHR_001#!SECURESHRP_001P USERNAME%PWD-F-NOMOD, this accounts password can not be modifiedTYPESYS$SYSDEVICE:NODE_LIST%PWD-F-NOTREMOTE, can not be used in the remote node listLOCAL_PWDOld Password: %SET-F-INVPWDLEN, password length must be between and 32 characters; password not changed. must be between 4 and 8 %SET-F-INVPWDLEN, VMS and MVS password length conflict; password not changed.%PWD-I-SYSMGR, Please contact your system manager and 8 %SET-I-PWDNOTVER, new password verification error; please try again%SET-F-PWDNOTVAL, old password validation error; password not changed%SET-F-PWDNOTDIF, new password must be different from current passwordncom_pwd$dat:pwd_remote.datPWD-F-FILNOTFOU, file NCOM_PWD$DAT:PWD_REMOTE.DAT not foundPWD-I-MSG, define remote nodes within the PWDMGR utility or use the command PWD-I-MSG, line qualifier /NODENAME to declare a list of remote nodes. - on node characters; password not changedlength conflict; password not changed%SET-F-PWDNOTDIF,new password must be different from current password; password not changed on node %PWD-I-MVS, attempting to modify IBM mainframe password, please wait...LNM$NCOM_TABLENCOM_PWD$IBM_NODE%PWD-S-MVS, Password modified on IBM system-PWD-I-PASSWORD, no VAX/VMS passwords modified!)))))))))))))))))))))))))))))( Do you wish to continue? Yes or No [N] )NOVMSVMSNOMVSMVSNONOVELLNOVELLNOULTRIXULTRIXENew Password: New Password: EVerification: ""::"0=NCOM_PWD"RACF_ADMIN   (+dS@(<8UU Z i4 iDLs( |hpll t,x,l t(x("!"!""!(;&c#"!l t0xC| 151Iz i   $%)#/2a i4 Dx i i($@< 0 {Dx 1 {Dx 0 {Dx { 0 {Dx { 0 {Dx {"  {"  {(;% {#"  {# 0 {Dx.-[t  Dx 0 {Dx 1 {Dx+ 0 { 0 {Dx 1 {D { 0 {-HLDD 4 \ $  ( ( (  a$PWD010.A~8F%[THR.NCOM_PWD.KIT]NCOM_PASSWORD.EXE;1'W"O[^\Y%ޟP1(P `*P`,P˭`0Pޫ$`4P`(PP'($PP (@Y%PP($','PP@<'1[(P `*P`,P˭`0Pޫ$`4P`(TD PPhd{'@P`BP`DP`HP`LP`NP`PP`TP`XP`ZP`\P>``P`dP`fP`hP`lP`pP`rP`tP`xP`|P`$l˭p@˄t&PP˘˔&( ˭ˡ@#~E&˜*&'&4&Џ9Tˬ#P1T91˼#PT-d7 -d7 -d7 -d7 -d7 -d7 -d7 -d7 1WˈT@dˊTdˌTdːTޫ@d˔TdTdTdT dTޫdTdTdTޫ8dTdTdTޫn«^(nЫVVX,Xn (PQ^˜PWW1J2PPˬ˰˴PPWWˠWW1W~(]R˔GD ~<-~!ˬ Yy W2Pk@ P(@jP9+(P11TPdP10@PWWWTP( ˭PЫ$`( P`( ˡ˟PЫ `P`P`2Vխ7ЭPPYX\YP\QXRVP(@@BVVխ1{XЈ`ˠtXPWWˠWW1HWːˌ~z(ˤ˨ˤRˬGVP˴@˸˴+(~ ~ˬYy72XYX ZЊ40PWWXYi~OP`P2PPP8ˠ<8@HFLH1Ы4P@ XˠlPPWWˠW4VW1Wˈ˄~(˜ˠ˜ˤˬF˰ˬkh-~`QB~Eˬ2/YP˼˸~9   }\lP˸PP>P ~ $($(=( C,PVV1o<PVV1]~pLQTXT:7~=\kdhd~ lWP`PPtxtoP`RR1~|˄PVV1AR~˘nk~nˠOLOP`,- lsP-`˰l˨PVV˸VV>V~ GlPVV˸VV>V40~ HLHtqTPPVV>V\X~J ptp0)V|x~ ː˔ː P,P l PsRPbORVb,ˠl˴˘P˸PP>P~ \YnlP˸PP>P$ ~( 8<8lD@P>PLH~ `d`POL[}PQ} PQ k,n ˮԫ VhW( ˢWP`PPXT|P15HP`JP`LP˜`PP`TP`VP `XP˨`\P``P`bP`dPˠ`hP`lP`wP`uP`` dHxhP1Ыˌˈ~ ˠˮˤˠol^(Rn¼^( nмYYZ^(nZ,Zn gPQ^gˬg˴sP>`˸DPЫP~ -Xˢ   uP`wP`'gP7~| ,ˮ0,PM<gP4P?Ыlh~ ˀˮ˄ˀ_ˌˈP8Ы˔ː~ ˨ˮˬ˨˞@1uP`$^($n¼^( nмZ$ZY^(hnY,Yn gPQ^g˴g˼sP>`QPЫP~ TgP7 ~ 4ˮ84}zDgX<P?Ыtp~H ˈˮˌˈ.˔ːP8Ы˜˘~ ˰ˮ˴˰-Xˢ  1X˸ˢ˼HP1~jXˢSHE^(+nX^(XˢnXYYZ^(nZ,Zn gPQ^ggsP>`P1 wP`[ g4P8ЫPL~ dˮhdtgˈlP?Ыˤˠ~N ˸ˮ˼˸"4P8Ы~ ˮ˞@1uP`$^($nX^(XˢnXZ$ZY^(nY,Yn gPQ^ggsP>`PЫP~R3Xˢ(g< P7XT~ lˮpl(|gːtP?Ыˬ˨~| ˮPMbP8Ы~# ˮ ~KYkZP19~LH] <4|PZ1PPЫP`PЫP~Jp+x|xˀ ˈˌˈի) - VV1~ː˘˜˘ˠ˨ˬ˨xu-*& h<R4HEPZPN˰aPЫPKPЫP- - V1"V1Z,0 gkZZ$,, gMЫ~ ˮ ro,= guP`ggsP>`, kP1(~:sP`P2PPP0g40i@gT8P8Ыpl~ ˄ˮˈ˄i˔g˨ˌP?Ы~~ ˮROdiP8Ы~) ˮ -Xˢ  1H~   ޼ P1~ $ , 0,s 4h e uP`^(en¼^( nмVVZ^(2nZ,Zn gPQ^g@gHsP>`XL6 P1idgx\P8Ы˔ː~ ˨ˮˬ˨ i˸g˰P?Ы~t ˮH E Z iP8Ы ~ $ˮ($  ~ , 4 84 < OP`R~ D L PLl Ta \V S OP`P`P`P`P`P`P`P`P`P`P`P>`P` P`P`P˰`P`P`P`P˜` P`$P`&P `(P˨`,P`0P`2P`4Pˠ`8P` @FORRTLLIBRTLCRFSHR SECURESHR SECURESHRP0*[THR.NCOM_PWD.KIT]NCOM_REMOTE_PASSWORD_SNA.EXE;1+,a8+.'/A 4'(-0123 KPWO(567`689GAHJ0D`0205vvRPWD_REMOTE_SNAV1.0-0@a05-09 ); & ?"! SNA3270SH_001! LIBRTL_001B!d FORRTL_001!e CRFSHR_001"! SECURESHR_001#!SECURESHRP_001sys$net%PWD-I-NODE, the calling node was %PWD-I-USER, the calling account was %PWD-I-MODPASS, password will be modified on account %PWD-I-VMSPASS, invoking VMS password section%PWD-F-OPTION, unknown option requestedNCOM_PWD%PWD-S-SUCCESSFUL, password has been modified does not exist%PWD-W-NOUSER, account %PWD-W-UIC, account is outside the authorised UIC range%PWD-I-CHKACCESS, checking remote node accessncom_pwd$dat:pwd_security.dat%PWD-I-SEARCH, Access database node name ::%PWD-I-ADMINCHECK, checking if user is an administrator%PWD-E-ADMINISTRATOR, is not an administrator%PWD-I-ADMINISTRATOR, is an administrator%PWD-I-PASSWORD, is modifing his/her own password.%PWD-I-PASSWORD, password modification on user account  %PWD-W-NOACCOUNT, account %PWD-F-FILNOTFOU, file PWD_SECURITY.DAT on found%PWD-W-NOACCESS, you have no security access%PWD-F-FILACCESS, error while accessing file PWD_SECURITY.DATNetwork password ModificationYesNo RACF_ADMINModified Username:Administrator:Remote Username:Remote Node:Image Name:Username:Event time:Auditable event:] }PWD-I-PWDMSG, IBM password modification on userid %PWD-I-PWDMSG, IBM TSO sign on%PWD-I-PWDMSG, Receive return screen after password change%PWD-I-PWDMSG, data line segment %PWD-I-PWDMSG, data line %PWD-I-PWDMSG, now checking MVS return messagePWD-E-NOSUCHUSER, failed to modify MVS password%PWD-I-PWDMSG, TSO sign offNMDG01NMNCOMM4SNAIKJLOGOFF( ' 3 T ` X \ T `  PT `  1{T ` h h H p p L "%*5O-p L h H   ' 0{T `  1{T ` T ` T `  0{T `  1{T ` T `    17:p  0$ {p 1$ {pp6$J 0$ {p 1$ {pp\d 0$ {p 1$ {ppLT6$J 0$ {p 1$ {<*$PWD010.Aa8+0[THR.NCOM_PWD.KIT]NCOM_REMOTE_PASSWORD_SNA.EXE;1'" pp-n \  dhl))hl t^pt| 0$ {p 1$ {pp$1 0$ {p 1$ {ppI_s  0$ {pp 1$ {pp 1$ {ppd7x   0100000    PTdpp`\$P 8 P@ltlldl`P q 6(55q q ''@@W W!G"O"`"t"t"2X'"HH# ##"""&(.('"L#'"PL'"L##'"PL*'"L"H!.'"T/Jy"'"PL'"L ''@@'$$$'$$ ''@@'@%$%$%$%|H@[˼P `˾P`P`Pޫ`P`P`Pޫ`P`˼@0P9PTP~J$ hlh!$$3$p'$P )+=$ˀ|~# ˔˘˔###,n ԫ,n ԫ ˤPP>P˼~# m#j##=$\lP˸PP>P~2# (,(###(=( C0"PVV1@"PVV1~"P"X\X""~"`~"khlhh"e"~k"pL"WP`PPx|x-"*"oP`RR1~#"ˀ""ˈhPVV11R1ˠ˨˰˸˼zPVVLV ?P< `i`P>`D!PVV1f11`~j!K!H!OP`,-i lsP-`lPVV˸VV>V0,~ DHD TlhLPVV˸VV>V˄ˀ~ ˘˜˘p m @ˤˠPVV>Vˬ˨~F   , % V~  P,P l PsRPbORVblP˸PP>P ~ 484XUj(DlX<P˸PP>Ptp~$ ˈˌˈ ˔ːP>P˜˘~ ˰˴˰PO<[}PQ} PQ k,n ˮԫ V0W( ˢWP`PPXT P15HP`JP`LP˜`PP`TP`VP `XP˨`\P``P`bP`dPˠ`hP`lP`wP`uP`` dHxhP1Ыˌˈ~ ˠˮˤˠgd^(ﺩn¼^( nмYYZ^(onZ,Zn gPQ^gˬg˴sP>`˸PЫP~ -Xˢ   uP`wP`gP7~t ,ˮ0,HE<gP4P?Ыlh~ ˀˮ˄ˀˌˈP8Ы˔ː~ ˨ˮˬ˨˞@1uP`$^($n¼^( nмZ$ZY^(ЧnY,Yn gPQ^g˴g˼sP>`PЫP~ gP7 ~ 4ˮ84urLDgX<P?Ыtp~@ ˈˮˌˈ&˔ːP8Ы˜˘~ ˰ˮ˴˰-Xˢ  1X˸ˢ˼HP1~bXˢK@=^(nX^(XˢnXYYZ^(JnZ,Zn gPQ^ggsP>`P1 wP` g4P8ЫPL~ dˮhd{xRtgˈlP?Ыˤˠ~F ˸ˮ˼˸,P8Ы~ ˮ˞@1uP`$^($4nX^(XˢnXZ$ZY^(nY,Yn gPQ^ggsP>`PЫP~J+Xˢ (g< P7XT~ lˮpl|gːtP?Ыˬ˨~t ˮHEZP8Ы~ ˮ~YkZP19~LHţ <4wtPZ1P/PЫP`PЫP~Bp#x|x ˀˈˌˈի) - VV1~ː 9k$PWD010.Aa8+0[THR.NCOM_PWD.KIT]NCOM_REMOTE_PASSWORD_SNA.EXE;1'oO˘˜˘ˠ˨ˬ˨pm-* `<J4@=PZPN˰PЫPPЫP- - V1"V1Z,0 gkZZ$,,+ gMЫ~ ˮ jg,= guP`ggsP>`, P1(~2sP`P2PPP0g40i@gT8P8Ыpl~ ˄ˮˈ˄i˔g˨ˌP?Ы~v ˮJG\iP8Ы~! ˮ-Xˢ  1H~޼ P1~$, 0,k4`]uP`^(͞n¼^( nмVVZ^(nZ,Zn gPQ^g@gHsP>`XLP1idgx\P8Ы˔ː~ ˨ˮˬ˨i˸g˰P?Ы~l ˮ@=RiP8Ы ~ $ˮ($~,4 84<OP`R~D{L PLdTY\NKOP`P`P`P`P`P`P`P`P`P`P`P>`P` P`P`P˰`P`P`P`P˜` P`$P`&P `(P˨`,P`0P`2P`4Pˠ`8P`[);2 (P; (PP mP~ < P~,  $3P(CPP<7P޲PPH[}PQPkЬ P`P@ P `P@ P`P@ P`<P PHPTP gPPHt[}PQPkЬ P`P@ P`P@ P `P@ P`<]P PLdP PP@@` H@ @8 Xxp(` (@8(ht @ SNA3270SHLIBRTLFORRTLCRFSHR SECURESHR SECURESHRP*[THR.NCOM_PWD.KIT]PWD.CLD;1+,L9%./A 4L-0123KPWO5 6aH7<89GAHJG!~~~~~~^~~~~~~^~~~~~~^~~~~~~^~~~~~~^~~~~~~^~~~~~~^~~~~~~^~~~~~~^~~~~~~^!(! PASSWORD Command Language Definition! ! Facility:! ! PASSWORD! ! Abstract:!=! This file contains the command language definition for the ! PWD command.!! Version 1.0-0!! Modification History:!!L!---------------------------------------------------------------------------!Ident "PWD V1.0-0"define verb PWD) image "NCOM_PWD$EXE:NCOM_PASSWORD.EXE"E qualifier TYPE, label=TYPE, nonnegatable, value (required, list,  type=OPERATING_TYPE) E qualifier USERNAME, label=USERNAME, nonnegatable, value (required)F qualifier NODENAME, label=NODE_LIST, nonnegatable, value (required, list, type=$file)( qualifier LOCAL_PWD, negatable, valuedefine type OPERATING_TYPE keyword VMS negatable  keyword MVS negatable  keyword NOVELL negatable  keyword ULTRIX negatable *[THR.NCOM_PWD.KIT]PWD.HLP;1+,P9./A 4Nb-0123KPWO5 6ᔥM7`B89GAHJ1 PWD F Establishes or changes a password across a Wide Area Network (WAN). @ PWD can be used by users to change their own passwords and by ; administrators to change users passwords on their behalf.3 See the qualifier descriptions for restrictions. Format PWD 2 DescriptionG All user accounts on a system have passwords. A password is required  for logging in to the system. J To maintain password security, users should change their passwords from E time to time. The PWD command offers a means of making this change # across a Wide Area Network (WAN). < A system manager can control which users are nomimated as C administrators and can change passwords on behalf of other users. = When your password has expired, you can use the PWD or SET + PASSWORD command to change your password. ? A password can contain up to 31 alphanumeric characters. The N characters and include the dollar sign ($) and the vy$PWD010.AP9HR.NCOM_PWD.KIT]PWD.HLP;1N underscore (_) are also. L All lower-case characters are converted to upper-case before the password < is encrypted. (For example, "DUCK" is the same as "duck.") 6 Use the following procedure to change your password:  1. Enter the PWD command. B 2. The system prompts you for your current password. Enter your  current password. E 3. The system prompts you for a new password. Enter a new password. B 4. The system prompts you to verify the password. Enter the new H password to verify. (If the two entries of the new password do not * match, the password does not change.) 2 Qualifiers /USERNAME /USERNAME=[username]A Allows a user nominated as an administrator through the PWDMGRA utility to modify another users password on their behalf. The D user must be registered as an administrator on all the nodes they are attempting to access. C When you modify another users password you are not prompted for B the old password, but you are still prompted to verify the new 1 password you are modifying on the users behalf/TYPE) /TYPE=(operating_system_type[,...]) B Indicates the type of operating system you wish to modify your ? password on. Your password must conform to the rules of the ? operating system you are modifying your password on. If you @ modify your password on all operating systems within the one A command, your password must conform to the rules of all those  operating systems.H By default the VAX/VMS operating system will be selected, all other G operating systems must be declared within the operating system type  list.D If one or more of the keyword operating system types are negated C then that platforms password(s) will not be checked or modified.; Below are the keywords that specify the various types of$ operating systems you can invoke.# PASSWORD operating system types $ [NO]VMS (default) VAX/VMS network [NO]MVS IBM MVS mainframe /NODENAME% /NODENAME=(nodename_list[,...])A Allows the user to select a list of nodes on which to attempt C to modify their password. Access to the remote nodes may not be A possible depending on whether access has been granted through F the PWDMGR utility on the remote node. See your remote site system E manager if you do not have access. If you do not use the NODENAME H qualifier the PWD program will default to a list of nodes maintained E by your local system manager through the PWDMGR utility.The local / node can not be placed in the nodename list. /LOCAL_PWD /LOCAL_PWD /NOLOCAL_PWD H Allows the user modifying her password to indicate whether she wishes; to modify the local password. /LOCAL_PWD is the default. 2 Examples 1. $ PWD Old password: MRFLOPPY New password: BIG_MUMBA Verification: BIG_MUMBA? In response to the PWD command, the system prompts you for D the old password and then for the new password. The system then H prompts you again for the new password to verify that it is correct.B The password changes if the user is authorised to change this C account's password by being in the valid UIC range, if the old B password is given correctly, and if the new password is given A correctly twice. Otherwise, an error message appears and the  password remains unchanged.B The passwords are not displayed when using PWD at the terminal0 2. $ PWD/NODE=(CCPL01,CCAL01,NMDL01)/TYPE=(MVS) Old password: MRJUICY New password: BIGERIC Verification: BIGERIC@ In the above example a list of VAX nodes have been supplied > that will be used to attempt password modification on. If ; any of the nodes deny you access you will be prompted ; whether you wish to continue or exit without modifying = any passwords. The MVS operating system has been selected? using the /TYPE qualifier. The VAX/VMS operating system is A selected by default unless negated within the /TYPE qualifier> list. The old password on the VAX environment and the MVS = mainframe environment must be the same. The new password > must conform to the rules of password modification on the @ VAX and MVS systems; i.e. Less than nine characters for the B MVS system and more than the minimum password length required by all the select VAX nodes.B The passwords are not displayed when using PWD at the terminal2 3. $ PWD/NODE=(CCPL01,CCAL01,NMDL01)/USERNAME=A2H New password: BIG_TOM Verification: BIG_TOM9 The above example demonstrates the modification of a : users password by a nominated administrator. The user ; who's password will be modified is A2H and the list of < nodes are the systems that the password will be changed = on. If the user who's password is being changed does not = have an account on a selected node the the administrator ; will be notified and the process of changing the users : password will continue. If the administrator invoking 8 this command does not have an account on one of the 8 selected nodes or is not a registered administrator 8 she will be asked if she wishes to continue or quit ) without modifying the users password.B The passwords are not displayed when using PWD at the terminal 4. $ PASSWORD/TYPE=(MVS,NOVMS) Old Password: MRLOOPY New password: BIGBOY Verification: BIGBOY? The above example demonstrates the modification of a users @ password on the IBM mainframe only. The system first promptsE for the old IBM mainframe password and then for the new password.E The system then prompts again for the new password to verify it. B The password changes if the user is authorised to change this D account's password, if the old password is given correctly, and B if the new password is given identically twice. Otherwise, an = error message appears and the password remains unchanged.B The passwords are not displayed when using PWD at the terminal(*[THR.NCOM_PWD.KIT]PWD010.RELEASE_NOTES;2+,<6./A 4N-0123KPWO56 Y7H89GAHJ) Release Notes  for' PWD V1.04 Wide Area Network Password ProgramN------------------------------------------------------------------------------ IntroductionThese Release Notes include:) * Installation and coding RequirementsInstallation RequirementsMPWD010.A is a VAX/VMS installation kit which can be installed on your system.KHowever it is advised that you load backup save set PWD_SOURCE.B on to yourAsystem, revue the source code then compile and link the programs.LSYS$UPDATE:SPKITBLD.COM can be used to rebuild the VAX/VMS installation kit.;The disk that PWD V1.0 is to be installed on needs to have >approx. 5000 blocks free. The space is needed for the program >images and log files created by remote connections from other systems.EDisable quotas on the disk while you install PWD V1.0 if you use diskGquotas on your site. After the installation add approx 5000 blocks for Eaccount NCOM_PWD and enable quotas. If quotas for the network object Hare not added or quotas are enabled during the installation the results of the installation are unknown.<If you use the DECnet/SNA code you will needed to change theFaccess name, gateway and etc; The code will then need to be recompiledLon a node with DSPI (DECnet/SNA VMS 3270 Data Stream Programming Interface) installed.:UIC for password modification is set to be above [500,*]. BThis is to s ~,$PWD010.A<6([THR.NCOM_PWD.KIT]PWD010.RELEASE_NOTES;2NGtop system accounts and Digital network objects being 7modified. This can be changed to the needs of the site.HNo consideration has been made to the privileges that accounts may have Iwhen a password is modified. This may need to be looked into and may also7be a feature of PWDMGR V2.0 (If I get my act together).HAll code that needs to be changed can be found using an editor search on:the sring "NCOM_CODE_MODIFICATION" within the source file.FUse the PWD_BUILD.COM file to compile and link PWD V1.0 for sites thatdo not have DSPIGUse the PWD_BUILD_SNA.COM file to compile and link the VMS and IBM DSPIcode. DThe command SYS$STARTUP:PWD_STARTUP.COM should be placed in the file4SYS$MANAGER:SYSTARTUP_V5.COM after the installation.*[THR.NCOM_PWD.KIT]PWDMGR.EXE;1+,)9.T/A 4TT-0123 KPWOT567R89GAHJ0D`0205v`PWDMGRV1.0-0 ƒ05-09 !01Q R ?-! FDLSHR_001B!d FORRTL_001!  LBRSHR_001! LIBRTL_001!e CRFSHR_001"! SECURESHR_001#!SECURESHRP_001Password Manager V1.0PWDMGR> NODENAME%PWD-E-NODELEN, node must be less than 7 charcaters%PWD-W-NOTREMOTE, node is not a remote nodencom_pwd$dat:pwd_remote.dat%PWD-I-ADDMSG, remote node successfully added%PWD-E-EXIST, remote node already exists in the databaseAdd Remote Access RecordUSERNAME%PWD-E-USERNAMELEN, username must be less than 32 charcatersRACF_ADMIN%PWD-I-ADDMSG, administrator successfully addedAdded Administrator RecordNODENAMEUSERNAME%PWD-E-NODELEN, node must be less than 7 charcatersncom_pwd$dat:pwd_security.dat%PWD-E-EXISTS, security record already exists%PWD-I-ADD, security access for :: has been added%PWD-E-EXISTS, Security access for already exists%PWD-E-EXISTS, node already exists + Do you wish to set global access for node )? Yes or No [N] ) Node ) has global access do( you wish to restrict it? Yes or No [Y] )Added Security Access RecordNODENAME%PWD-E-NODELEN, node must be less than 7 charcatersncom_pwd$dat:pwd_remote.datA%PWD-I-REMMSG, Node has been removed%PWD-E-NOSUCHNODE, node does not exist)6 Remove all nodes from remote database, Yes or No [N]:)Removed Remote Access RecordUSERNAMENODENAME%PWD-E-NODELEN, node must be less than 7 charcatersncom_pwd$dat:pwd_security.datA%PWD-I-REMMSG, security access for :: has been removed%PWD-E-NOSUCHREC, node or username does not exist  Remove all nodes from security database, Yes or No [N]:)Removed Security Access RecordUSERNAME%PWD-E-USERNAMELEN, username must be less than 32 charcatersRACF_ADMIN%PWD-I-REMMSG, administrator has been removedRemoved Administrator Access RecordUSERNAME%PWD-E-USERNAMELEN, username must be less than 32 charcatersRACF_ADMINpwd_admin.lis%PWD-I-LSTMSG1, writing listing fileList of Authorised Administators--------------------------------Username Ownersys$system:sysuaf.dat%PWD-I-LSTMSG2, listing file PWD_ADMIN.LIS is complete ) )) ())NODENAME%PWD-E-NODELEN, node must be less than 7 charcatersncom_pwd$dat:pwd_remote.datpwd_remote.lisA%PWD-I-LSTMSG1, writing listing fileList of nodes in the Remote Access Database-------------------------------------------Node Name---------List of a node in the Remote Access Database--------------------------------------------::%PWD-I-LSTMSG2, listing file PWD_REMOTE.LIS is complete%PWD-W-BADSPC, no matched specification))) ) ))))::USERNAMENODENAME%PWD-E-NODELEN, node must be less than 7 charcatersncom_pwd$dat:pwd_security.datpwd_security.lisA%PWD-I-LSTMSG1, writing listing fileList of nodes in the Security Access Database---------------------------------------------Node Name and UserID--------------------::%PWD-I-LSTMSG2, listing file PWD_SECURITY.LIS is complete%PWD-E-NONODES, there are no nodes to be listed ))) ) )))NODENAME%PWD-E-NODELEN, node must be less than 7 charcatersncom_pwd$dat:pwd_remote.datANode Name ::Remote Node Access Records%PWD-E-NOSUCHNODE, node does not exist) NODENAME%PWD-E-NODELEN, node must be less than 7 charcatersUSERNAMEncom_pwd$dat:pwd_security.datASecurity Access Records::%PWD-E-NOSUCHNODE, node does not exist))  ( Open access for all users ) USERNAME%PWD-E-USERNAMELEN, username must be less than 32 charcatersRACF_ADMINAuthorised Administrators()sys$system:sysuaf.datHELP_STRINGsys$help:pwdmgrhelp.hlbncom_pwd$dat:pwd_security.dat%PWD-E-NAOFIL, unable to open password security file (PWD_SECURITY.DAT)ncom_pwd$dat:pwd_security.fdl%PWD-E-NAOFIL, unable to open password security FDL file (PWD_SECURITY.FDL)%PWD-I-INFO, please contact your System Manager with detailsLNM$NCOM_TABLENCOM_PWD$DAT)Remote Access: Security Access:Administrator: Status: Image Name:Username:Event time:Auditable event:]4P ADDEXITHELPLISTREMOSHOW TD 8 %ADD BOGUS_ROUTINE,!P1database(xREMOTE(SECURITY,4\ ADMINISTRATOR(USERNAMEH  1ADD_ADMIN_SYNTAXcADD_ADMINISTRATOR4!*P1USERNAMEUsernameH` P 4ADD_SECURITY_SYNTAXxe ADD_SECURITY0!*P1NODENAMEnode(USERNAMED  2ADD_REMOTE_SYNTAX` ADD_REMOTE0!*P1NODENAMEnode,T|   <H  dp   4 8 &EXIT EXIT_ROUTINE8  &HELP HELP_ROUTINE0!!P1 HELP_STRING8| &LIST BOGUS_ROUTINE,!P1database(lREMOTE(SECURITY,$L ADMINISTRATOR(USERNAMEL  2LIST_ADMIN_SYNTAX{LIST_ADMINISTRATOR4!*P1USERNAMEUsernameH`D 5LIST_SECURITY_SYNTAX LIST_SECURITY0!*P1NODENAMEnode(USERNAMED  3LIST_REMOTE_SYNTAX LIST_REMOTE0!*P1NODENAMEnode Hp  0<  Xd    $<D  (REMOVE BOGUS_ROUTINE,!P1database(( REMOTE(P( SECURITY,| ADMINISTRATOR(USERNAMEP  4REMOVE_ADMIN_SYNTAXXyREMOVE_ADMINISTRATOR4!*P1USERNAMEUsernameL`t  7REMOVE_SECURITY_SYNTAXpREMOVE_SECURITY0!*P1NODENAMEnode(USERNAMEH   5REMOVE_REMOTE_SYNTAX@m REMOVE_REMOTE0!*P1NODENAMEnode\ l x  P ( P  ( g3$PWD010.A)9[THR.NCOM_PWD.KIT]PWDMGR.EXE;1T "  |84 ` & &SHOW BOGUS_ROUTINE,!P1database( $ REMOTE( SECURITY,   ADMINISTRATOR(USERNAMEL P & 2SHOW_ADMIN_SYNTAXxSHOW_ADMINISTRATOR4!*P1USERNAMEUsernameH` & 5SHOW_SECURITY_SYNTAX@ SHOW_SECURITY0!*P1NODENAMEnode(USERNAMED h & 3SHOW_REMOTE_SYNTAX SHOW_REMOTE0!*P1NODENAMEnode ( `      `  8D `    !,0!!,h!!! ""("<"Z"Z#(##`#31h###`#h#!###d{@$  l###-###l#l#p#t#|#x#8b##b## P%p%(p&&0&&&<9&&' uD'& u\'/ u'&0%&&&&& '('  (,(2(5((5)]))))**))34*  ))))-3))))  `)))))))))))))))))))  `)))))))))#)))))  `))))))"|))|)) ,,,(, -+-|.L.,.3.  4.T.T.,.l.H.d.l.H.d.4.4.8.<.D.@.&..t...t. /(/ 0<0B0E0(E1m11 211$2113D2  1 111#')111   111111#')111 111  111111#')111 111 111111#')111 1111111111111:1111 X5x5(x66666<66$7 L76 d7 7685 =66666 8<8 <9 \9x9x99|9) :9 : 8:9  P:9$   %: 99:999799 __ _; 9799999 _9_6u 9999~99~99  <,<2< h=P=2=3  =  <= = S$PWD010.A)9[THR.NCOM_PWD.KIT]PWDMGR.EXE;1Tm" <=/ $0 +T +   X=X=2=X=X=2=$0 , ,    <=<=7 <=@=D=L=H='M 4=`=4=`= H? T? t???@ A A@@ 0A@@3 A dA  @ A@  $ -9 -f   @@@@@@  @@@@@@  $ -9 -f   @@@@@@  @@@@@@  $ -9 -f   @@@@@@  @@@@@@ $ -9 -f   @@@@@@  @@@@@@@@  @@@@@/ @@@@  E,E2EH hFPF2F3Q  F  >>Ыˌˈ~>2PPˠˤˠ>>ЫP\ˬ˨~>2PPy>v>ЫP|H[8.<P\\1"  ~Z>H8>5>ЫPP|>P\\1xP`zP`|Pk`ˀP`˄P`2VV\ː`xtd>P\\1ˌP\\!?ˤf>P\\|~=˸==P\\Q \GkptЫ>P\\&, ,Vː ( A7ЫP\~0=2PP˰<<ЫPH[,n T,n (`p:P\\1ZˈI:ޟQPQ˘w:P\\13ԫѫ#~<˨z<w<ЫP˸W<P1:~~TŞC<@1<8'<$<Pk10ի1L\\1?R<P\\1ի $~;;;ЫP/I~; T$ ;;Pk1T~;Hx;u;ˮy ˮY1s;Pk1w\\Y:~~T,(ﭝ+;@;8; ;Pk;Pk10;;P\\1r<);P\\1`:@:TLH:`TP::Pk1~:Xn:`Td`V:hK:p`tp3:x(:%:,2 «^(`nЫV::~V«^(TnЫWWV,Vn (PQ^$ˀ3ЫPЫP1ː:P\\1Jˠ9P\\18˰9P\\1&9P\\1ի 1/5~q9TI9F9Pk1fJ~69H 99ˮn1:ˮN1/9Pk1?9P\\1v-9P\\1d:D8T8`88Pk1~8r8T Z8O8`78 ,8)8,6 «^(`nЫV::~V«^(TnЫWWV,Vn (PQ^$(1ЫP1-T ˨-` ˈd-*)7@7877Pk1187P\\1H7P\\1~^7X;7`Td`#7h7p`tp7x66ЫPˀ77P\\1n, «^(`nЫV::~V«^(TnЫWWV,Vn (PQ^$ˌ0:6Tˠ˜f6`˨ˤT6Q6Pkt~V6ˬ36˴T˸˴6˼6`5555PЫP5k2~555;Ы ~52PP ˱$ t5q5ЫP\,(~h52PP@˱D@5525ЫPI[P2P\\1  ~5`44ЫPp4P1j˜*1|1~˸4˨44Pk1$g~4}4~u4(_4\4ˮyˮYЫP\\1K4Pk1n4P\\1~432VV˨333+(3˨33Pk11(,聯 ::~V^(V˨nVXXW,Wn (˱PQ^f-P\118~~˜ 63˨33Pk1"3Pk1~322WW ˨$ 2(22,ʖ ::~W^(W˨nWVVX,Xn (˱PQ^0,@e2PЫPT2k$~l2lI2F2;Ы xt~?22PPˌːˌ 2 2ЫP\˘˔~22PPˬ˰ˬ11ЫPH[,n T,n (`p+/ޟQPQˀY/P\\11ԫ˘?/P\\1ѫ!~k1˨H1E1ЫP˸'1P1uT*1ի `*1C~ 1˨ 0ˈ00Pk1̕~00~0H00ˮyˮYЫP\\1&0Pk10P\\1~W0(400˨40080 @ˈD@/H//(,« ^( ˈnЫ V::~V«^(˨nЫWWV,Vn (PQ^$P)P\=:/˨d`s/ˈlha/^/Pk1111yի1T*1I~`tp!/˨|x.ˈ˄ˀ..Pk1&ˈ)/P\\1- ˈ `13.Pk1˘.P\\1J~.˨.˰˨˴˰i.˸^. ˈF.;.8.(y« ^( ˈnЫ V::~V«^(˨nЫWWV,Vn (PQ^$'=:-˨-ˈ--Pk11-P\\1?11ի1T*1ի1`*1I~`OG-˨ --ˈ--Pk1TW-P\\1(E-P\\1\\1:-T ˨1,Pk1~,8,@˨D@,H, PˈTPj,X_,\,(« ^( ˈnЫ V::~V«^(˨nЫWWV,Vn (PQ^$`&1?=:+˨tp+ˈ|x++Pk11ˀ,P\\1]11T*1ի `*1I~~T˔ːvn+˨˜˘T+ˈˤˠB+?+Pk1{˨~+P\\1˸l+P\\1-T ˨1/+Pk10~**˨** ˈ***(ˏ« ^( ˈnЫ V::~V«^(˨nЫWWV,Vn (PQ^$H$=:73*˨*ˈ **Pk+=@*P\\1 .*P\\110)PЫPD)k$~)\));Ы hd~)2PP|˱ˀ|X)U)ЫP\ˈ˄~L)2PP˜˱ˠ˜))ЫP|Hh[8&P\\1Z  ~(H((ЫPP)P\\1#xP`zP`|Pk`ˀP`˄P`2VV\ː`xtd!)P\\ЫPˌP\\!/ˤ)P\\ЫPP\\ЫP \ЫPkptЫ(P\\ЫP~ ('Vː'''(,Vː ( !ЫP\~'2PP˰ e'b'ЫP|Hl[,n ˘ԫ$\P$ޟQPQF`$PVV11 +~'p&x&&ЫP,* ˘ˈPVV!.ˠi'PVVЫP˼PVVЫP VЫPs&P1~&d&a&,[&@& 5&2&P1!l#&&&P1T˘*1=&PVV1tP`vP`xPޫ`|P`ˀP `˂P `˄P`ˈPk`ˌP`2PP(˘,t@0&PVVЫPP%PVV1rЫlpԫV!k`%PVV1ѫ NBr$%˘xt%kPP|ˀ|$$P141˄3%PVV1˔$P1 \!{Ы @%P\\flPVVMAŋw$V$kPP<$9$P11} $Px$$,#Pc~$8##ЫPV|x~#2PPː˸˔ː##ЫP@#Ы \X~#2PPp˸tpg#d#ЫPH$[4!P\\1v ~B#D ##ЫPT#P1ˤ"P1*1a1~"""Pk1~""",曆"x"m"j"Pk1.,y\"A"6"3"Pk1\\1i"P\\1H10 "2PP!!Pk1+(֊! !!Pk111e1n1$8~~($r!0,X!U!Pk14!P\\1s~E!D"!!,,!L T Pk1, \ d Pk1}<﹉ 2PPlpl tu r Pk9| T8$PWD010.A)9[THR.NCOM_PWD.KIT]PWDMGR.EXE;1TT"BP P-ːD P!~_ ˤ< 9 ЫPˬC k$~0  ;Ы ~ 2PPЫP\~2PPЫP1}XXP\\1hFP\\111 ի1ի1ˌ*1I~˘|xo˄ˀ˸ˌˈ~Pk1~ː]Z,T˘9ˠ.+Pk1,˨˰Pk1X˸3P\\1!P\\1\\12T-ˌ TaSfTu2PP˸ZWPk11t=:?!˸ Pk1,1kFP\\14P\\111ˌ*1ի ˘*1I~~ˌ$ `,(˸40roPk1~q8NK, E@*HPk1,݂PXPk1I`$P\\1pP\\12T-ˌ T1S]Tˀ˄ˀwˈl2PPː˸˔ːQNPk1=:9˜˘˸ˤˠ Pk)k˨FP\\1˸4P\\11 P8P,~ЫPk$~mj;Ы $ ~c2PP8<80-ЫP\D@~$2PPX\XЫPHﴹ[4P\\1f ~DЫPTP1*11~˜y˨ˤ_\Pk1˴P\\1P\\1\\1mP\\1~2PP+([Pk111s18~~ z`]Pk1 P\\1P\\1$xP\\1~)2PP484<DPЫPXk$~p;Ы |x~2PPː˔ːpmЫP\˜˘~d2PP˰˴˰1.ЫP`P`P`Pޫ`P`P`,PЫPP|H菉[}PQ}PQ$Ь,C~߫(t?w2PP@tD@gdPkC޼ THPVV,XPVV P,P $,x PVPk$kPhЫ PI0[}PQ} PQ (P `*P`,P`0Pޫ`4P`6P`8Pk`@PP`BP`DP`HPޫ `LP`NP`PPޫ`XP`(\LPVV1lPVV1|vPVV1Ѽ (Xs1Ѽ(Ws Ѽ(Ss (UsˌHPVV1«^( nЫWr~W^(nWq~Ws~W ^^˸˼ Wr~Wr~W ^( rn Wq~Ws~W«^(nЫXXWr~Wr~W ^( rn Wq~Ws~W~~ˤ˨Wr~Wr~Wr~WݏPID:Wq~Ws~W^(tnWr~Wr~W ^( ]rn Wq~Ws~W^(nWr~W^(:rnW,Wn lPQ^^(lnh^(end~(nkQ^PVVPVV~82PPrЫPH([}PQqkݼH[}PQ}PQRR PRR~^4(^8<`^,n䐏Pݬ^|iVX^,n䐏QYMݬf^PRݬl$լ ݬf  RP|VD^,nȐSȞ؞ܕlլݬfЬ̑lլ  lլ,n䞭l լ Ь l լЬlլ ݬf^<`^,n䐏T-!l լЬ^<`^,n䐏Uݬ^@@0$0(@8 (s`HPXpx` (PHx8  @FDLSHRFORRTLЩ$PWD010.A)9[THR.NCOM_PWD.KIT]PWDMGR.EXE;1T:SLBRSHRLIBRTLCRFSHR SECURESHR SECURESHRPDH|OO"*[THR.NCOM_PWD.KIT]PWDMGRHELP.HLB;1+,<.$/A 4$%-0123 KPWO%56 M7Y89GAHJ% VAX-11 Librarian V04-00@\ MN$% 5CADDEXIT$HELPLISTREMOVESHOW`|M1 ADDC The ADD command will create a new entry in the remote or security G database. The security database is checked when a remote node accessesF the local sites and attempts to access the file SYSUAF.DAT. The nodes? registered in the remote database are used by the command PWD , to establish connections to remote systems. 2 /SECURITYF The ADD/SECURITY command is used to add a node to the security access database. Format:  ADD/SECURITY [node-name]  3 /USERNAME  /USERNAME=useridJ Specifies a specific userid on a given node who can access the local nodeL remotely via the NCOM_PWD object. This will override any global access for  the remote node. 3 Parameters node-name; specifies the name of the node to be added to the security; database. If you omit the node-name, you will be prompt 9 for one. The node-name is a string of 1 through 6 alpha characters. 3 Examples @ The following examples illustrate the use of the ADD/SECURITY command. 1. PWDMGR> ADD/SECURITY CCPL018 This command adds to the security database a node named9 CCPL01 with global access for all userid on that node. - 2. PWDMGR> ADD/SECURITY/USERNAME=A2H CCPL01; This command adds to the security database a userid called= A2H on the node CCPL01. Any reference to node CCPL01 as a = global access node will be lost in favour of userids on the give node. 2 /REMOTEB The ADD/REMOTE command is used to add a n ode to the remote access database. Format ADD/REMOTE [node-name] 3 Parameters node-name9 specifies the name of the node to be added to the remote; database. If you omit the node-name, you will be prompt 9 for one. The node-name is a string of 1 through 6 alpha characters. 3 Examples > The following examples illustrate the use of the ADD/REMOTE command. PWDMGR> ADD/REMOTE CCPL016 This command adds to the remote database a node named CCPL01.  2 /ADMINISTRATORG The ADD/ADMINISTRATOR command is used to add a password administrator  to the file SYSUAF.DAT. Format ADD/ADMINISTRATOR [username] 3 Parameters username8 specifies the username to be added as an administrator.7 If you omit the username, you will be prompt for one. ; The username is a string of 1 through 32 alpha characters. 3 Examples 4 The following examples illustrate the use of the # ADD/ADMINISTRATOR command." PWDMGR> ADD/ADMINISTRATOR THR= This command adds the username as an password administrator.ww@M THR ADDtM THR LIST@2kM THR REMOVEmM THR EXIT@HM THR SHOW@(N THR HELP`qM1 LIST@ The LIST command outputs a listing file which gives information on the records specified. Format: LIST [/qualifiers] parameter 2 /REMOTEA Creates a listing file (PWD_REMOTE.LIS) to which remote database information is written. Format LIST/REMOTE [node-name] 3 Parameters node-name < specifies the name of the node to be listed from the remote; database. If you omit the node-name, you will be prompt 9 for one. The node-name is a string of 1 through 6 alpha ; characters. If an * is supplied in place of the node name . all nodes in the remote database are listed. 3 Examples ? The following examples illustrate the use of the LIST/REMOTE command. 1. PWDMGR> LIST/REMOTE * writing listing file, listing file PWD_REMOTE.LIS is complete: The command in this example creates a listing file of all nodes in the remote database. 2 /ADMINISTRATOR@ Creates a listing file (PWD_ADMIN.LIS) to whichV2$PWD010.A<"[THR.NCOM_PWD.KIT]PWDMGRHELP.HLB;1$e" remote database information is written. Format LIST/ADMINISTRATOR [username] 3 Parameters username C specifies the username of the administrator to be listed from the @ administrator database. If you omit the username, you will be B prompted for one. The username is a string of 1 through 32 alpha : characters. If an * is supplied in place of the username > all administrators in the administrator database are listed. 3 Examples 4 The following examples illustrate the use of the $ LIST/ADMINISTRATOR command.! 1. PWDMGR> LIST/ADMINISTRATOR * writing listing file+ listing file PWD_ADMIN.LIS is complete: The command in this example creates a listing file of all. administrators in the administrator database. 2 /SECURITY< Creates a listing file (PWD_SECURITY.LIS) to which security information is written. Format:  LIST/SECURITY [node-name] 3 /USERNAME  /USERNAME=userid? Specifies a specific userid on a given node who will be listedA from the security database. The '*' wildcard can be used to list% all users within the range supplied. 3 Parameters node-name6 specifies the name of the node to be listed from the 8 security database. If you omit the node-name, you will ; be prompt for one. The node-name is a string of 1 through 9 6 alpha characters. If an * is supplied in place of the : node name all nodes in the security database are listed. 3 Examples A The following examples illustrate the use of the LIST/SECURITY command.! 1. PWDMGR> LIST/SECURITY CCPL01 writing listing file. listing file PWD_SECURITY.LIS is complete@ This command creates a listing file of the node named CCPL01.  2. PWDMGR> SHOW/SECURITY * writing listing file. listing file PWD_SECURITY.LIS is complete2 This command creates a listing file of all nodes.) 3. PWDMGR> SHOW/SECURITY/USERNAME=A2H * writing listing file. listing file PWD_SECURITY.LIS is complete7 This command creates a listing file of all references 7 to the userid A2H registered in the security database.wwiM1 REMOVEE The REMOVE command will remove an entry from the remote or security G database. The security database is checked when a remote node accessesF the local sites and attempts to access the file SYSUAF.DAT. The nodes> registered in the remote database are used by the command PWD, to establish connections to remote systems. 2 /SECURITYH The REMOVE/SECURITY command is used to remove a node from the security  access database. Format:  REMOVE/SECURITY [node-name] 3 /USERNAME  /USERNAME=userid@ Specifies a specific userid on a given node who will be removedD from the security data base. The '*' wildcard can be used to delete% all users within the range supplied. 3 Parameters node-name; specifies the name of the node to be added to the security; database. If you omit the node-name, you will be prompt 9 for one. The node-name is a string of 1 through 6 alpha = characters. If an '*' is supplied in place of the node name : all nodes in the security database are removed. You will 9 need to confirm this action by typing Yes at the prompt. 3 Examples C The following examples illustrate the use of the REMOVE/SECURITY command.# 1. PWDMGR> REMOVE/SECURITY CCPL01? This command removes from the security database the node named CCPL01.  2. PWDMGR> REMOVE/SECURITY *> Remove all nodes in the security database, Yes or No [N]:D This command removes all nodes registered in the security database.+ 3. PWDMGR> REMOVE/SECURITY/USERNAME=A2H *D This command removes all reference to the username A2H on all nodes% registered in the security database. 2 /REMOTEJ The REMOVE/REMOTE command is used to remove a node from the remote access database. Format REMOVE/REMOTE [node-name] 3 Parameters node-name= specifies the name of the node to be removed from the remote; database. If you omit the node-name, you will be prompt 9 for one. The node-name is a string of 1 through 6 alpha ; characters. If an * is supplied in place of the node name 8 all nodes in the remote database are removed. You will 9 need to confirm this action by typing Yes at the prompt. 3 Examples A The following examples illustrate the use of the REMOVE/REMOTE command.! 1. PWDMGR> REMOVE/REMOTE CCPL01= This command removes from the remote database the node named CCPL01.  2. PWDMGR> REMOVE/REMOTE *< Remove all nodes in the remote database, Yes or No [N]:B This command removes all nodes registered in the remote database. 2 /ADMINISTRATORD The REMOVE/ADMINISTRATOR command is used to remove a username from % the password administrator database. Format REMOVE/ADMINISTRATOR [username] 3 Parameters usernameD specifies the username of the administrator to be removed from the E password administrator database. If you omit the username, you will C be prompt for one. The username is a string of 1 through 32 alpha > characters. If an * is supplied in place of the username all ? usernames in the password administrator database are removed. B You will need to confirm this action by typing Yes at the prompt. 3 Examples 4 The following examples illustrate the use of the  REMOVE/ADMINISTARTOR command.% 1. PWDMGR> REMOVE/ADMINISTRATOR THR? This command removes from the password administartor database  the username THR. # 2. PWDMGR> REMOVE/ADMINISTRATOR *I Remove all password administrators from the database, Yes or No [N]:: This command removes all user registered in the password  administrator database.ww M1 EXITC The EXIT command terminates PWDMGR and returns the user to command language level. Format: EXITwwEM1 SHOW5 The SHOW command displays a listing of the specified? Remote or Security database record(s) to the user's terminal. B Unless otherwise specified by qualifiers, all records are listed. Format: SHOW [/qualifiers] node-name 2 /REMOTE@ Displays information about nodes listed in the remote database " on the current SYS$OUTPUT device. Format SHOW/REMOTE [node-name] 3 Parameter node-name ? specifies the name of the node to be dispalyed fr om the remote; database. If you omit the node-name, you will be prompt 9 for one. The node-name is a string of 1 through 6 alpha ; characters. If an * is supplied in place of the node name 1 all nodes in the remote database are displayed. 3 Examples ? The following examples illustrate the use of the SHOW/REMOTE command. 1. PWDMGR> SHOW/REMOTE *C This command displays all nodes registered in the remote database. 2 /ADMINISTRATORE Displays information about user l!isted in the password administartor+ database on the current SYS$OUTPUT device. Format SHOW/ADMINISTRATOR [username] 3 Parameter username F specifies the username of the password administartor to be dispalyed E from the password administartor database. If you omit the username, E you will be prompt for one. The username is a string of 1 through 32@ alpha characters. If an * is supplied in place of the username 1 all nodes in the remote database are displayed. 3 ExamR $PWD010.A<"[THR.NCOM_PWD.KIT]PWDMGRHELP.HLB;1$e!"ples ? The following examples illustrate the use of the SHOW/REMOTE command.! 1. PWDMGR> SHOW/ADMINISTRATOR *; This command displays all users registered in the password administrator database. 2 /SECURITYB Displays information about nodes listed in the security database " on the current SYS$OUTPUT device. Format:  SHOW/SECURITY [node-name] 3 /USERNAME  /USERNAME=useridB Specifies a specific userid on a given node who will be displayedD from th#e security database. The '*' wildcard can be used to dispaly% all users within the range supplied. 3 Parameters node-name9 specifies the name of the node to be dispalyed from the 9 security database. If you omit the node-name, you will ; be prompt for one. The node-name is a string of 1 through ; 6 alpha characters. If an '*' is supplied in place of the = node name all nodes in the security database are displayed. 3 Examples A The following examples illustrate the use of the SHOW/SECURITY command.! 1. PWDMGR> SHOW/SECURITY CCPL01/ This command displays the node named CCPL01.  2. PWDMGR> SHOW/SECURITY *E This command displays all nodes registered in the security database.) 3. PWDMGR> SHOW/SECURITY/USERNAME=A2H *7 This command dispalys all references to the userid A2H% registered in the security database.wwN1 HELP7 Lists and explains the PWDMGR commands and qualifiers. Format HELP [commmand-name] 2 Parameter command-name  Name of an PWDMGR command. 2 Qualifier qualifier-name Name of an PWDMGR qualifierww$*[THR.NCOM_PWD.KIT]PWD_SECURITY.FDL;1+,> ./A 46-0123KPWO5'6@p`7 ad89GAHJ'TITLE "Password Security database V1.0"0IDENT "11-FEB-1992 18:41:37 VAX-11 FDL Editor"SYSTEM SOURCE "VAX/VMS"FILE CONTIGUOUS no FILE_MONITORING no GLOBAL_BUFFER_COUNT 0' NAME "DSS_PWD$DATA:PWD_SECURITY.DAT" ORGANIZATION indexed OWNER [SYSTEM]6 PROTECTION (system:RWED, owner:RWED, group:, world:)RECORD BLOCK_SPAN yes CARRIAGE_CONTROL FORTRAN FORMAT variable SIZE 38AREA 0 ALLOCATION 27 BEST_TRY_CONTIGUOUS yes BUCKET_SIZE 3 EXTENSION 6AREA 1 ALLOCATION 9 BEST_TRY_CONTIGUOUS yes BUCKET_SIZE 3 EXTENSION 3AREA 2 ALLOCATION 33 BEST_TRY_CONTIGUOUS yes BUCKET_SIZE 3 EXTENSION 9KEY 0 CHANGES no DATA_AREA 0 DATA_FILL 100 DATA_KEY_COMPRESSION yes DATA_RECORD_COMPRESSION yes DUPLICATES yes INDEX_AREA 1 INDEX_COMPRESSION yes INDEX_FILL 100 LEVEL1_INDEX_AREA 1 NAME "Node" NULL_KEY no PROLOG 3 SEG0_LENGTH 6 SEG0_POSITION 0 TYPE stringKEY 1 CHANGES no DATA_AREA 2 DATA_FILL 100 DATA_KEY_COMPRESSION yes DUPLICATES yes INDEX_AREA 2 INDEX_COMPRESSION yes INDEX_FILL 100 LEVEL1_INDEX_AREA 2 NAME "User-id" NULL_KEY no SEG0_LENGTH 32 SEG0_POSITION 6 TYPE string#*[THR.NCOM_PWD.KIT]PWD_STARTUP.COM;1+,> ./A 4O4-0123KPWO5 6 H7{j89GAHJO$!~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^$! Author: Tom Rush$! $! Date: 19-Aug-1992$!<$! Function: Define logicals for the PWD program and install4$! The image NCOM_PWD$EXE:NCOM_REMOTE_PASSWORD.EXE$!O$!~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^~~~~~~~~~~^$!#$! Create the LNM$NCOM_TABLE table.$! $ create- /name_table- /nolog-) /protection=(s:rwed,o:rwed,g:r,w:r) -" /parent=LNM$SYSTEM_DIRECTORY - LNM$NCOM_TABLE$!K$! Add this table to the end of the default RMS and DCL logical name search@$! list as specified by LNM$FILE_DEV unless it is already there.$!L$ max_index = f$trnlnm("LNM$FILE_DEV","LNM$SYSTEM_DIRECTORY",,,,"MAX_INDEX")$ curr_index = 0$ lnm$file_dev = ""$ file_dev_loop:8$ if curr_index .gt. max_index then goto file_dev_doneI$ log_name = f$trnlnm("LNM$FILE_DEV","LNM$SYSTEM_DIRECTORY",curr_index)>$ if log_name .eqs. "LNM$NCOM_TABLE" then goto file_dev_skip0$ lnm$file_dev = lnm$file_dev + log_name + ","$ curr_index = curr_index + 1$ goto file_dev_loop$ file_dev_done:0$ lnm$file_dev = lnm$file_dev + "LNM$NCOM_TABLE"E$ define/nolog/table=LNM$SYSTEM_DIRECTORY LNM$FILE_DEV 'lnm$file_dev'$ file_dev_skip:$ !$$ ! Locally define NCOM_PWD logicals$ ! __ =^)[THR.NCOM_PWD.KIT]U]_W/-E>3prmZP+ otS;2i[|0-cĽai=+#ᣰO}賟Fq~A 6= N!ZܣTe0ڕBN*eFWJݻq %fˣ52Ku՚Nݍؕ`F57In3w6@(+Q:q 301fP20;Dw[﴾:eR3؄T9sH@7F YO-~W THkv+Y4pU 7\,yd8bLPXM$xP~dkxڏ//^Ɩzˉ~ W]7Rg7dO19;M OB)wmZgUmf LBahj'kCv|2̜_K5k`BB\w$-ʲKVx{/2g$mƿA 3M,7>mݐX MV[eӃ XFx=w^213>r8*a9{s '} Dw'Ҥ#t}9`{aG1x]zM16`j z$tF{tI#u`旲朸"gK7ňˈ%nv"K)J 7/rf ͤuɿ)pȫm*X,n?+B0 Z֌4Y9CCMGv |꺅So9*XfEh4oU$~Y.Mt=e2&\6,9obk^XͶ3!GAS0Q`Q8>s4_o8:>U6sz cMS\l[sBN,]\" SZz{kFߊw.:F`J,,u*r=~/ 2E wu<'x,Ђh}_XdF+\iե萬0\3)q#y|a1fOOw[ >t4]8)\HKz]YGqU8zfb6&('jI TeJ0'>~Hqn^=}ɣ3ԛj{C@^ zB{dA!>[޷"n]SIkL gC9SM70LgeWv+%L}Ѵh}u*W-t @ Y5GowFI;P^/gŕ8 u2A$GfKWVl,>8k5ZF/ cTֱ YjY-!g!N{ >MX>^!W !|*'T`#OJEONdrqyHҮ -爡d2}nbN05)}.o:&<ω{Fƒ'2:g3h,?pd'a(\m+DPZחE̤n7dlBCi1Oa ]!Go(d`^D>˴ꀺu-P4L\+Um55ĪZ;׽шRFj B=@ꁱM^ ~n(/q (LP3 ;+ɥa.#h tV7RvCY }%R6vFZhBmkJ5_K7.跳UX'v>+"r@V0` Z!ʸwŘLVI>{L* x.EAMk7XC 㜳VMםKp}ih9l6^eTk 3 VvnG K ? ''ǃ7\4tyډ'93W&Q4e? . fD Gto qud1Vf`N|EV睅}8Q-^=k]D:c Gj@S"*3¨VNqͥBZWP!Υ~cOXSp9bI<]ȃZͬm|[wFN^2T^fzÖ{g?3[3)GFdDyq``5&^OB"PCy Mɔ@vE&&[Xbt)? jn9] Hl  !qX|:",-s4_|Wcu.%i *C*fCzf\836W!eX6ڐGם޹U-n@/qڮ:Іf3;2pZ@. w;4RI!jV6~udƟ*=:1H,ֵ;+ @x->l5|$TXkRn+8ZEɘ@+ZjGTE.Sxܷ9"BXj[zP` V+#B+aJjEиa E~ֽw!43zÝ;Gue_&D_k0lHͯ+LՁ;!QS/屨kG!c I&<ٷwK*eK9: 7+ye"F+S#C`5}"E^uZG阓^I,q{eh^Ee,Ӝ}dl9!vX.5v%dO"иZFt|NJ<#pǶRPf{9}%\SpcD8%Y|1D_vi<⩓L'ݓo^ZQRkקc\MjGLL<\A{djVK:cyMf]s f1ߪ|vkfExzJpQbV-[lN:]R]a6k`ᾟ׭ֶÃ6{R~nBn8n3|sriȓUe~xƺUU-f 33] 7^A0A.n+N,o`_xʖ+`>'5](EG= ._жQ]h; Z{+,!?| s}*aL8 T-tPSjMD?@/Cؿ& Ө[nB#:m\m*#rd %J߯209URz7k}e:y&:×(:^l?2gr4OȆ# |ymh 1Bbٟ+bGD"(+ +azm Өg@v "AxWqOIyDtGߙ: nj*JzxqY wd>_߹nGib"{Wc(6Rug.2Q>k% o= 4kɸL.;H8b`*5@inyC|իxonzGpcXo)K2sS$̞_hH5!g#DZ Tř{ojI׎0U c^޿eMXŧu T|A"r|9tK 9,bU&hL2qѐjp,?扣-Aγъ`-S.%R)=J^fu*8Ä94 D)KK@K\D}In0A8T<_'E9w o`tG~kKNu5ZĞ63.F4S.df%jJS>'-2o͗C+J|ϑ!Ynn/8T!;u#qW/8m!١!ze+;3aZ8 5V^2 [4=݇>ypn>;,5?/8g7uSO|yObw \ lh|hBnѰ`=3O=W~,z_/ ƾ6_Pnˀ< %2a@|ҁ[K UhB q~c+[Buq+)n&P/Zr"YʄCEOw6]%WrѴ2"7h3|Ӊ*%o!>DٺgHz?}b4iGtXe RyWZE0>-{*8F\aOB  3:JLylt'tEg]R!U*lM<]I`U>)Os~M3&u h U J׈Z+l^#IbS(~.·8YЂUk؎.SFT͡Ċ/E>9Wq[`p *noCOIWҀ٧T9 }ʗ/f(mTJW]~}=S?#Pc)D9[AS!9&=MjEaE1QᎠ{[9x})]hoIaJmx!"YSZ hֹ_7 ܅5{JL$y Ύ.2p(:)3|rj=;`jXѓ(؇2(˜rLr7fQC^A-3o?N<>4!u=6-BӽݭQO(3g"7Tqx.R VVɻcija64ͭkZ0rnٍvsvK1B,"h3Y BbЂO[tdSgqsn5)!2Ķ&_(|W֌KT;lmI؁Z_Og Y2/T.WT-">gWOOF 9~DAƷD ڏ#Hjaҝ4MEV"#_aWȻh`&-WJ4WM[Ο+cw0&wrEmY 5/+H 5h,`{]O>on&]`O&DW~0:͎1{9laL"H|hiŕqG y(#.s{B1u.PC[ 8 DdN,﬇6y%0/5roMCk*x0V }ׂԐC}Dz/T$ RWO0rY^z⦘MN8XY69 񠟸Hc0#f*) *A1x/ s3P^_ v:Kۅ6A/s9To6g]&ꑪ:Cn/.q!;F&ΖcףRk :9)jɂ8 '"u>TMTa)%H˂Mtp;?m\`"*xMfKJH1˒S2Y`ˆ"-E#rqC"`Us~ M%ۖ 8v_C4ÁNsDO} f5FFV  p$ +K$E1 0S5BB̬/&LwʅO\MQtNk+MUt ձ#o:;rVcI4 !7d[$IDxL A󻑶=3=R_v55[Dqn.4jtCٸhdž긿c6,~]>3|b\h0DOSc oO;Ek,3 ך`ijR@C|y̲p`:0OUKåWZ>pu~xc*p@z" D1ҬLDD>Hlc"-Pj>N+Zeq 5іfߍ,O %՛.yN(7'O3/"!YTk~qCdFCa+v2 Bi딮&ɨa%ד63jf^5quH4aZ7Q#*n.}\og/&z־B0R&S^āDo= -ik;]rrfF ["/Da>kqJ}`Iar"o|x#u]M:ΜO4n΄ƻQ>.Z1pCp`>&D9/nLN}mwvE8&f$Z-v5F!3>`a4nN åޤΜSm4\oǝQWV67?χhf-rhV<4cHOỪ)%>xF 3$5nZO, :exV0`S1^{ź_A#&c_C9ƺF. jMp[H¾̕sf u?t T$Uh؍Zs_6$EגZAu ޳0*oIolTwZR\.W?ZpރwDf2-IM6< À&UfNhH%ѾflsR-Pu|rsAVK2cV{mh-w@s"ת`|g&AJV TP @S  mit'/owner_uic=[''pwd$group',1]"$ endif$!