.c;################ROCHESTER INSTITUTE OF TECHNOLOGY .C;################INFORMATION SYSTEMS AND COMPUTING .C;################TECHNICAL SUPPORT .B .B .flags Hyphenate .tab stops 36 .lm 36 .rm 72 .i -36;Descriptive Title: A Secure method to copy files over DECnet .b .i -36;Usage Restrictions: None. .b .i -36;Calling Name: NETCOPY .b .i-36;Project Number: .b .i -36;Author and Affiliation: Andrew W. Potter .br Rochester Institute of Technology .b .i -36;Installed at RIT by: Andrew W. Potter .i-36;Language: VAX/VMS Extended FORTRAN-77 .b .i -36;Computer: Digital VAX/VMS .b .i -36;Program Availability: This Utility is available on VAXA, VAXB, VAXC, VAXD, and VAXV. .b .i -36;Contact: Internal: User Computing Center, Rochester Institute of Technology .b External: Academic Computing Infor=mation Systems and Computing, Rochester Institute of Tech=nology. One Lomb Memorial Drive Rochester NY 14623 .b .i -36;Date 15 December, 1983 .page .b .tab stops 8,16,24,32,40,48,56,64 .left margin 0 .b .c;#########FUNCTIONAL ABSTRACT .b .literal NETCOPY: A secure method of moving files over DECnet NETCOPY is a new copy utility that allows users to perform DEC- net file access without having to include the password in the network access string. NETCOPY is designed to use a syntax similar to COPY. DECnet nodes are specified by one of the following forms: NODE:: { access string is built from the local } { (current) username and prompted password. } NODE"username":: { Access string is built from supplied } { username and prompted password. } NETCOPY will prompt for the required passwords in the format shown below: NODE:: Password: At RIT, "NODE" can be one of: VAXA, VAXB, VAXC, VAXD, or VAXV. The password will not be shown on the screen to ensure account security. (NOECHO input mode) Example: .end literal .flags bold $#^*NETCOPY VAXB"abc1234"::ABOUT.RIT LOCALFILE.RIT\* .b .literal VAXB:: Password: { user enters password for account } { abc1234 on node VAXB:: } For more information on NETCOPY type HELP NETCOPY. COPY is fully explained in the Digital Command Language Users Guide. .end literal .page .c;######USER INSTRUCTIONS .b .b .literal NETCOPY commands take one of the following forms: Brackets "[]" indicate optional fields. $ NETCOPY [/SUB] NODE["username"]::FILE[,FILE...] LOCALFILE $ NETCOPY [/SUB] FILE[,FILE...] NODE["username"]::FILE $ NETCOPY [/SUB] NODE1["username"]::FILE1 NODE2["username"]::FILE2 NETCOPY will prompt for the required passwords. To maintain password security the passwords will not print (echo) on the terminal as the user enters them. The quoted username is optional. If omitted, NETCOPY will insert the username of the users account on the local system. A list of filenames may be specified for the input file spec, however only the first file specification may contain a node specification. OPTIONAL QUALIFIERS: Copy qualifiers: NETCOPY allows file wildcarding as well as the following COPY qualifiers: /VOLUME, /CONTIGUOUS, /REPLACE, /PROTECTION, /LOG, /TRUNCATE, and /OVERLAY. These qualifiers will be applied to the output file specification regardless of where they appear in the NETCOPY command line. See HELP COPY or the Digital Command Language Users Guide for further information on COPY. The "/SUBPROCESS" qualifier: This qualifier will cause the network copy operation to be performed as a spawned (background) process. This is useful for lengthy copy operations. NETCOPY will return the process identification number of the spawned process and return the user to DCL. NOTE The user should be aware that the copy operation will be happening concurrently with the command session and that logging off before the network copy is complete will abort the subprocess. (The DCL command SHOW PROCESS/SUB will show if the copying subprocess is still active.) .end literal .page .literal EXAMPLES OF NETCOPY USE The examples below demonstrate a user running NETCOPY from an account with a username of ABC1234 on DECnet node VAXA::. .end literal .nf ####$#^*NETCOPY/SUB#VAXB::FILE.DAT#MYFILE.DAT\* .f .literal Password : {password entered for the VAXB:: ABC1234] The command above is the same as: $ COPY VAXB"ABC1234 secret"::FILE.DAT MYFILE.DAT .end literal .nf ####$#^*NETCOPY/SUB#VAXB"CDE5679"::HISFILE.DAT#VAXC::[.SUBDIR]MYFILE.DAT\* .f .literal VAXB:: password : {user enters the password for VAXB:: CDE5678} VAXC:: password : {user enters the password for VAXC:: ABC1234} [0041003B] {NETCOPY returns process identification. The qualifier "/SUB" directs NETCOPY to spawn the copy operation into the background. .end literal ####$#^*NETCOPY VAXC::_*._* _*/LOG/PROTECTION_=(W:RE)\* .literal VAXC:: Password : {user enters password for VAXC:: ABC1234} %COPY-S-COPIED, _VAXC"ABC1234 password"::USER:[ABC1234]LOGIN.COM;2 copied to USER:[ABC1234]LOGIN.COM;1 (45 records) %COPY-S-COPIED, _VAXC"ABC1234 password"::USER:[ABC1234]LAB1.FOR;1 copied to USER:[ABC1234]LAB1.FOR;1 (105 records) %COPY-S-COPIED, _VAXC"ABC1234 password"::USER:[ABC1234]LAB1.DAT;1 copied to USER:[ABC1234]LAB1.DAT;1 (14 records) This example copies all the files in VAXC::[ABC1234] to [ABC1234] on the current system logging each file as it is copied and giving them a protection allowing WORLD read and execute access. .end literal