Learning a New OS... and Fast!?
Inexile2002 asks: "I've been asked to assist a consultant on a project using VMS and basically have four days to figure out enough that I'm actually of some use. (We're not doing development, just security reviews, so I'm not totally screwed.) Originally I was going to ask for advice on how to start teaching myself VMS from scratch including best books and support websites when I realized that there is a more generic issue here. What are people's thoughts on learning a new OS and learning it fast? Have people found optimal ways to pick things up quickly, get a familiarity with commands and underlying logic? How about learning the basics when you can't actually install and play with the OS in question?"
Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.
Books will only go so far. Real-world experience is the only thing that counts.
I've been asked to assist a consultant on a project using VMS and basically have four days to figure out enough that I'm actually of some use.
I seriously doubt that you will learn enough in 4 days to be of any use. You will probably slow down the others who do know what they're doing. I would just admit that I didn't know anything about the OS, but would like to work along with the others to learn.
I've always thought consultants were overpaid. This proves it. See this week's Dilbert strip for proof.
Monday
Tuesday
Wednesday
Thursday
Security reviews? Is that all? It's not like that requires any in-depth knowledge of the operating environment. You're off the hook!
You can not learn enough about an OS to consult on its security, and if I'd hired you to look at my systems and later found out you hadn't even been on them a week prior, I'd likely turn around and sue you pantless.
If strictly looking at code or similar is your plan, and you're only worried about being able to navigate the system enough to look at source, I'd suggest looking at the little intros that are part of any college coursework involving the OS. Chance are you can find all kinds of class notes and course workbooks with Google.
The most common things that need to be done are done on all OSs - it's just frustrating to do the translation (I'm sure there's a way to add a user but what is it??). You won't be much, if any, good in 4 days but one useful tool is a book like the "Universal Command Guide" (www.ucgbook.com). Unfortunately while it bills itself as "Every Command, Every OS" that must be for limited values of "Every" since VMS, Plan9, OS370, VxWorks, etc. are not mentioned.
Still, it is a handy, if imperfect, reference if you mostly use one of [Windows, *nix, Netware, Macintosh, MSDOS] but sometimes need to recall how to do something on other than your primary OS.
~~~~~~~
"You are not remembered for doing what is expected of you." - Atul Chitnis
Find out what VMS uses for grep and then type the equivalent of this at the command line:
grep "Here's where the buffer under-run starts" *.c
Opinions on the Twiddler2 hand-held keyboard?
Just call up Tank and ask him to download it into your brain. Presto-chango! .. oh wait, you aren't in the Matrix. .... or ARE you?
----- rL
rtfm and no sleep.
I'm not going to actually touch a machine. Period. I'm going to be handling physical security and the people side of the policy - ie. What business process are involved in granting or revoking user accounts and how are code changes managed on a process side. That's my job.
I do touch the tech often enough that I'm helping out the VMS guy. Mostly, that'll mean doing his documentation for him when he's done his testing. I just want to be conversant enough that I won't be a time suck while I document everything. As for learning, I find I don't know what to ask the sys admins if I don't know anything about the OS. Even when I know the system, I play dumb... it's just going to be much much easier to play dumb for VMS.
Basically, I could go in to this and not know a thing about VMS and it wouldn't really hurt my ability to do my job. However, that's not the way I like to do things... I handle processes and policies but the more I know about the client...
"Learning a New OS... and Fast!?"
shouldnt that be Learning an Old OS... ?
The first place I always look in this circumstance is the Rosetta Stone of Unix aka " What do they call that in this world?" Unfortunately, vax mainframes aren't one of the listed. Read up on the DEC stuff, since they had a similar design philosophy. I remember two things about VMS: prepare to go all caps, and version control is with a semicolon and file version after it for every file. Good luck.
http://tinyurl.com/4ny52
A very good collection of links and information conserning VMS can be found here
The site is very insightful.. and I think it can be read through in a couple of hours. =)
You can connect with telnet of SSH.
It seems you asked 2 questions. The first being (seemingly): help me learn VMS in 4 days. The other being about the general opinion of learning a new OS. I figured I throw my hat in to the ring on the first one. (I use OpenVMS at work, and Linux at home; I figure I'm qualified).
s net/vms-unix -commands.html
/path/to/this/file.txt it is $set def(ault) [path.to.this]file.txt. Directories are surrounded by [square brackets] with dots "." separating sub-dirs. Also there are probably multiple file systems on several disks; the disk where the OS lives is most likely called DISK$SYSTEM, and the users (aka /home) is prolly on DISK$LOG. You can bounce around from folder to folder without specifying the filesystem, but to move to another fs you have to specify it: SET DEF DISK$SYSTEM:[PATH.TO.THIS]FILE.TXT
VMS is really quite similar to Unix-y OS's. What really flipped the switch for me was the how to pass parameters to the commands in VMS.
This page has helped me the most. In fact I have a print out taped up in my cube for easy reference.
http://www.physnet.uni-hamburg.de/phy
Dont get discouraged by some of the long commands. As long as you have the unique chars it knows what you mean. The command DIRECTORY is shortened to DIR.
Also the man equivelent in VMS is the HELP command. The help docs are complete and very well done.
The other trick to learning VMS fast is to know the directory syntax. Instead of #cd
On a side note, stay away from the VMS to Linux HOWTO. It has *very* little helpful info, except for the first few pages that show the related Linux commands.
We're not doing development, just security reviews, so I'm not totally screwed.)
You've got this backwards. Security requires more indepth knowledge of the OS than development. If they've got you doing security reviews for a system you don't know how to use, I'm sure there are a few hundred script kiddies around who'd love to know who you're doing this for.
I wish underqualified people wouldn't apply for jobs they can't do. This screws everyone else, because they get them sometimes.
You've never worked for a consulting company. The original poster may have never applied for the job himself. He was 'asked to assist'.
I was often bid by my company for contracts in environments in which I had little or no experience. Usually the client knew this, and didn't care because you were (a) on a very low rate and (b) contributing other skills as well. Generally this situation applied to employees who were recent graduates and new to the workforce.
On the whole it worked well enough, except those times the marketing people put you in somewhere having described you as having 'guru' level status for some technology that you saw at a demo once. Bastards.
Ho! Haha! Guard! Turn! Parry! Dodge! Spin! Ha! Thrust!
Basically, if you can sit with someone and watch what they do for a good 8 hours, you should get enough of an idea of the main bits you're going to need. A book at night might help you understand what you're doing, but if you need to learn fast, "monkey see, monkey do".
After that, just make sure you're not on any important machine when you start experimenting with your new knowledge, and play around with it.
I've never used VMS, but then again I've never read any books on DOS and (would think) I'm still pretty damn good at the CLI bashing (esp. under NT/2k), so I reckon second hand knowledge is better than any book.
Dan. -- So what if it's spelt wrong, nobody's perfect
Well I'm reading the links below and one that didn't get mentioned kind of suprised me Open VMS documentation.
Anyway VMS security is nothing like Unix security. Oracle or NT security is much closer to the security model. VMS admins don't tend to modify the base systems very much and VMS is very secure by default. So I wouldn't be looking for Linuxy holes like the equivelent of "sendmail" exploits. The real problem you'll have is finding out which users can elevate privledge, and privledges that in combination can give them a great deal of authority.
In my experience the hole that VMS guys tend to miss is this: Unaudited program gives the author the authority of the user running the program. So if Joe submits changes to the "update accounts file" and update accounts runs as a system operator on the production box then Joe has system operator permissions unless someone is checking his code carefully. Unix guys tend to see this as obvious VMS guys tend to miss this since Joe may not officially even have a log in ont he production box.
someone that doesn't know squat about vms, and has 4 days to learn says:
i have no idea how to even respond to that. if taking this job was your idea, i'd suggest to get into som other line of work (like sweeping streets). if someone you work for put you on this project, i suggest you explain to them why this is a bad idea. this may require the help of a large hammer.
Acts@core.mailboks.com Acrux@core.mailboks.com Adam@core.mailboks.com Adar@core.mailboks.com Ada@core.mailboks.com
...that on any decent VMS system,
will start a surprisingly friendly hierarchical help menu on "topic". Or don't specify a topic and just wander around the help tree.
Just as "man man" is a useful command to give to Unix newbies, "HELP HELP" is a good starting point for VMS. My first networked machine was a VMS. When I finally moved to Unix, I was so diappointed in the man pages. "You have to type the whole name of the topic? It can't figure it out? Sheesh..."
Like the tagline goes: VMS is a text-based adventure game. If you win, you get to use Unix.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
You just have to get enough chars to make it unique from any other command. Just like tab-completion. DIFF is not DIR, but DI(FF) will get confused with DI(R).
First off... I will not be touching machines.
/. is a good suggestion too frankly, but at 3AM I need a break.)
Second, by security reviews... I should have been clearer... not securing the boxes on any kind of code or OS level... if the sys admin isn't doing his job I'll never damn well know. I'll be reviewing security policy. Who has authority to sign off on new user accounts? Has this person signed off on new user accounts? What is the process for notifying the sys admin to remove an account? Has everyone who's departed the company had their account deleted? This is the kind of security review I'm responsible for. I also look at who has the ability to actually walk up to the box. I assess adequacy of the security physically getting into the server room.
I'm not totally stupid. If they wanted me to actually touch a keyboard on a machine who's OS I didn't know - I would tell them to find someone else. (Hell, because of the nature of what I do, I'm reluctant to touch the machines I do know.) I try to learn as much as I can before I go in because that is the way I prefer to work.
There are people in my shop who wouldn't know a shell script from a hollywood script and they can do the same job I do and do it competently. I just like to know as much as I can about the system.
And so far the best suggestions have been to read the online stuff and not sleep... already doing that. (Avoiding
is available here:
http://www.thevax.org/.
It's a free service run by hobbyists.
HTH,
JP
VMS Documentation:
http://www.openvms.compaq.com/doc/
VMS OS Documentation:
http://www.openvms.compaq.com/doc/os731_index.html
Look in particular at "OpenVMS User's Manual" for starters, then "OpenVMS System Manager's Manual", and "OpenVMS Guide to System Security".
VMS security is fairly fine-grained and the OS is pretty secure by default provided people (and processes, eg backups) are granted privileges on the basis of the minimum needed to perform their work, and passwords for the really dangerous accounts are kept under tight control (place I used to work had the password for the all-powerful "system" account in a sealed envelope in a safe). Oh, and if you have physical access to the system console then there are alternative boot modes which can override all the OS protections. They're well-documented.
System Management:
http://www.openvms.compaq.com/openvms/system_manag ement.html - though at first glance this looks to be more a "here are some fine extra products you can buy to help you" page than detailed technical information.
More VMS Documentation:
http://www.openvms.compaq.com/wizard/openvms_faq.h tml
Yet more VMS Documentation:
Type "HELP" at the command line.
Notwithstanding your clarifications of what you'll be doing, good luck.
The main point is ensuring that accounts can be tied to users (as that is what gets audited) and that unlike Unix, you may have many system administrators with individual accounts. VMS also supports the concept of Security Administrators as separate from the System Administrator.
What you are looking for is documentation on who can do what and who approves it. For various reasons, it is a good idea to keep users or at least their rights identifiers around for a long time, even after users have left. It is better to disable the user until you are certain that their rights identifier is no longer in the system.
As with many systems, an OpenVMS console can be used for breaking into the system. However, it can be secured in such a way that bypassing security is extremely difficult.
See my journal, I write things there