Copyright 1993-2016 by Kevin G. Barkes All rights reserved. This article may be duplicated or redistributed provided no alterations of any kind are made to this file. This edition of DCL Dialogue is sponsored by Networking Dynamics, developers and marketers of productivity software for OpenVMS systems. Contact our website www.networkingdynamics.com to download free demos of our software and see how you will save time, money and raise productivity! Be sure to mention DCL Dialogue! DCL DIALOGUE Originally published June, 1993 What's In A Name? By Kevin G. Barkes Hard to believe, but in two months DCL Dialogue starts its eighth year within the pages of DEC Pro. Of course, since all true DCL types work in octal, it's actually our 10th anniversary. I've received a number of messages from people suggesting that DCL Dialogue may no longer be an appropriate name for this column, since the subject matter tends to be somewhat wide-ranging and not dedicated exclusively to Digital Command Language. I came up with the name in my younger, alliterative years. I'm actually very bad at naming things; I had a parakeet named Bird, a dog named Dog, a cat named... well, you get the idea. Anyway, I'd like to hear your opinion. Should I keep the name? Change it to something else? What would you suggest? If a better alternative is presented (and the editors approve), we may retire DCL Dialogue at the beginning of '94. Send your letters and email to the address at the end of this article. The winner will get, at minimum, an I Love DCL sticker, a CompuServe signup kit, and a free one-year subscription to DEC Pro. Oh heck, we'll make it two years. We now return to our regularly scheduled column, already in progress... SECURITY CHECK. Ray Harwood of Data Basix in Tucson, AZ forwarded some small command procedures which provide a "simple but effective way to make a daily peek into what's up." The .COM files can help a system manager spot unusual activities and potential security problems. SECAUDIT.COM (Program 1) produces a report of unusual security events; ACCOUNT.COM (Program 2) generates an accounting summary. Of course, these work only if you have accounting and security auditing enabled on your system. Check the SET ACCOUNTING and SET AUDIT commands in your DCL Dictionary. And speaking of security, an interesting discussion on the Internet underscores the benefit of enabling highwater marking or erase on delete. It seems some non-privileged users on a system allocated a large number of blocks to a file and then ran DUMP on it to read the file fragments left behind by other users' delete and purge operations. Take a look at the SET VOLUME commands in the DCL Dictionary. PATHWORKS BACKUP. A number of folks pointed out there are easier ways to back up PCs under Pathworks than the method I described in the March issue. I like using Central Point Backup because it can be configured to compress files as it backs up, saving a rather substantial amount of disk space. DEC's Pathworks Desktop Backup is a superb approach, but it doesn't come with Pathworks and isn't free. Using XCOPY with the emergency boot diskette you create at installation is a viable approach as well, although XCOPY doesn't copy system or hidden files, at least under early versions of MS-DOS 5.0. (Later versions won't copy hidden files but will copy read-only files, although the target copy won't have the read-only bit set.) XCOPY under earlier DOS versions did copy those files, and reportedly DOS 6 will return that functionality. PLUGGED IN. Next time you're perusing your e-mail and get steamed over something the guvmint has done, you can send actually send a complaint to President Bill Clinton electronically. His CompuServe address is 75300,3115, and he can be reached over the Internet at 75300,3115@compuserve.com. Sure hope the Prez doesn't post an off-topic message on comp.os.vms, although it would be interesting to see how inconsiderate flamers would act when the Secret Service shows up at their doors in reaction to threatening messages... NIFTY APPROACH. There are a number of elegant programmatic and procedural ways to deal with users who redefine commands with DCL symbols. One that was new to me and syntactically pleasing was posted on the Internet by Nigel Arnot of England. Assume a user has redefined the write command to instead execute a TYPE/PAGE: $ WR*ITE :== TYPE/PAGE so that when you enter the command $ WRITE SYS$OUTPUT "HELLO" you get the error %DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters \"HELLO"\ Nigel's suggestion was to assign the symbol: $ REALLY == " " ! Space so you could enter $ REALLY WRITE SYS$OUTPUT HELLO A curmudgeonly acquaintance of mine who tired of having his .COM files blow up due to interfering user-defined symbols just added a few emotionally satisfying letters to every command in his procedures: $ WRITEDAMMIT SYS$OUTPUT "I hate symbols." The latter is especially helpful when you're forced to work on a system where the system manager has redefined everything and you don't want to go through the hassle of DELETEDAMMIT/SYMBOL/ALL... GOOD FOR SOMETHING. The password generator on OpenVMS is basically a sound idea. Unfortunately, the "words" it coughs up are very often difficult to remember. Users whose system managers lock them into generated password selection frequently scribble the ciphers on their keyboards or other visible locations, thereby compromising security. Wayne Sewell of Tachyon Software, a denizen of the VAX Forum on CompuServe, has devised another, more benign use for the password generator: creating alien-sounding names for a science fiction novel he was writing. By golly, he's right. A couple screenfuls of suggested passwords produced such gems as "Zimrowbi", "Usyszus" (undoubtedly the leader of a planet of computers), "Fophag", "Yibstuc", and "Kaplep", which sounds vaguely Klingonese. Wayne says working on "The Mind Gun" was a lot more fun than the VMS book he wrote. Then again, most VMS tomes don't include aliens who think The Three Stooges are the only worthwhile thing to come out of Earth or a Shetland sheepdog who hates frisbee but likes to read "Soldier of Fortune" in his spare time. Better go easy on the lexical functions, Wayne, and we hope you find a publisher soon. Favorite email tagline of the month: "I am Popeye of Borg. Prepare to be askimgilated. Arf, arf." ********************** Kevin G. Barkes is an independent consultant who is just tickled by the .WAV file someone mailed him. (His PC now fires up Windows accompanied by the phrase, "That's no ordinarrry rrrabbit! That's the most foul, crrruel and bad-tempered rrrodent you ever set eyes on!") He lurks on comp.os.vms and can be reached at kgbarkes@gmail.com. PROGRAM 1 $!SECAUDIT.COM $!Requirement: Put the names of the recipients of the Security Emails $!into SYS$MANAGER:SECAUDIT.DIS $ this_file = f$environment("procedure") $ this_node = f$getsyi("NODENAME") $ submit/after=tomorrow 'this_file'/noprint/nonotify/nolog $! If run interactively, just SUBMIT, don't DO: $ if f$mode() .eqs. "INTERACTIVE" then exit $ day = f$cvt("yesterday",,"DAY") $ month = f$cvt(,,"month") $ date = month+"-"+day $ set proc/priv=bypass ! Make sure we can read audit log $ anal/audit sys$manager: /since=yesterday/summ/out=secaudit.lis $ mail secaudit.lis "@sys$manager:secaudit" - /subj="''this_node' Security Summary ''date'" $ anal/audit sys$manager: /since=yesterday/event=(logfail,breakin,sysuaf)- /ign=user=""/out=breakin.lis $ mail breakin.lis "@sys$manager:secaudit" - /subj="''this_node' Security Details ''date'" PROGRAM 2 $! ACCOUNT.COM $ submit account.com /nolog/noprint/after="tomorrow" $ if f$mode() .eqs. "INTERACTIVE" then exit $ set proc/priv=byp ! Ensure we can read ACCOUNTNG.DAT $ account/since=yesterday/summary=(user,type,proc)- /report=(process,records)/out=account.lis $! Customize this to send to YOUR username: $ mail account.lis USERNAME /subj="Daily CPU Usage"/pers="Batch Job ACCOUNT"