Website:Sysadmin Survey

=UGCS Sysadmin Survey=

What's involved in being a sysadmin?
Being a sysadmin means a lot of things. It means answering multitudes of questions from users. It means finding and installing nifty new software, and keeping the existing software working. It means keeping the lab's hardware working reasonably well as well as keeping the lab nice and neat. It means dealing with obscure problems that you might otherwise just ignore. It means being on call 24 hours a day to deal with minor and major emergencies. In general, it means spending a lot of time keeping the lab a productive and fun place to get things done.

What's the incentive?
As a sysadmin, you will learn the gory details of UNIX systems inside and out, and you will gain a lot of experience in dealing with machines and people which may be helpful in later life. If you're the type of person we're looking for, noodling around on computers will be its own reward. You'll become a well-known person among the undergrad community and the CS department. And you'll also experience the personal satisfaction of making UGCS a better place in which to compute.

How much time?
There are no fixed hours. When the lab crashes, we have to fix it, but otherwise we set our own schedule. You can work when you have the time, and let other people handle things when you don't.

Students have run this lab for twenty years while holding regular class schedules. It can be stressful at times, but it's quite manageable. It is possible to keep this job over the summer while also working at something else at or very near Tech (like a SURF), but you have to be willing to spend a reasonable amount of time here. Generally, though, more important than the actual number of hours that you spend is your dedication to the job.

The dotted line
There have traditionally been between two and four sysadmins at any time. Since we are looking for people who will be able to remain sysadmins, we prefer sophomores and (especially) freshmen, but encourage everyone interested to apply. Previous experience in system administration is helpful but not at all necessary; more important is a desire to learn and the ability to deal with people.

In case of emergency... break glass...
Oh, and if you have any questions, contact one of us below. Although some of us seem surlier than others, we're all fine sysadmins.

Let the games begin!

 * 1) Name:
 * 2) Email address:
 * 3) Class (Fr, So, Jr, Sr, S^n Sr):
 * 4) Option (you don't have to be CS!):
 * 5) What computing hardware, operating systems and software have you worked with, and what have you used them for?
 * 6) What programming languages/scripting languages do you know? How well? Of the ones you know, which do you like best and least?
 * 7) Describe one or two of your favorite programming projects (done for a class, for a job, on your own -- it doesn't matter).
 * 8) What do you find to be the most interesting aspects of computing? When you "play around" with computers, what sort of things do you do?
 * 9) Have you had any experience with system administration? What sort of work did you do (was it mangling an enterprise-wide gigabit-capacity network for a Fortune 500 company, or was it dusting off Apple II monitors in high school)?  Have you done anything particularly interesting?
 * 10) Have you worked with Unix-like systems at all? Have you ever set one up?  (Yes, Linux counts.)
 * 11) What is your biggest gripe about Unix? What would you change?
 * 12) Emacs or vi?
 * 13) What's the most difficult computer-related problem you've solved?
 * 14) Why do you want to be a UGCS system administrator?
 * 15) Is there anything else we should know? Be creative.  Lie, if necessary.

Answer as many of the following questions as you can. Give as much detail as you can. You can ask people for help on any particular concept, but you can't have people answer the questions for you. Feel free to look at any documentation or source that you want. Don't worry if you don't know or can't figure out the answers - we're much more interested in your thought process than anything else. But remember: the more challenging problems you answer, the more chance you have to impress us. Please remember to cite your sources! Geez, sounds like a final, eh?

Remember, don't worry if you can't figure out all of the questions- some of these questions are tricky. As we said before, we are more interested in your thought processes and reasoning than we are in the technicalities of your answer.

General UNIX

 * 1) What is NFS?  What problems does it have?  How can these problems be solved?
 * 2) What is AFS?  How does it differ from NFS?  We're not looking for a detailed, comprehensive answer- we're just looking for a general overview and brief discussion.  See http://www.openafs.org, specifically the User's Guide, for more information.
 * 3) Does Kerberos have something like SSH keys?  If it doesn't, what would it take to give Kerberos something like them?  Is this desirable?  ( We suggest you read The Moron's Guide to Kerberos)
 * 4) UGCS has a cluster of similar machines.  Sometimes we may want to take some of them down for maintenance.  To minimize disruption to our users, it'd be nice to be able to migrate their processes off of a machine and on to another machine.  Is this possible with the standard Linux kernel?  What steps would you have to do to freeze a currently running process, send it to another machine, and then thaw it?

Resource Usage

 * 1) Suppose the mail server at UGCS has a load average of 100.  Is this ok?  Why or why not?  (Big Hint: We have networked filesystems)
 * 2) Suppose the web server on UGCS is locking up every 10 minutes.  What could be going wrong?  List a couple of possible scenarios.  How would you fix it?  Could you do it remotely?

Troubleshooting
One of the biggest issues that the UGCS sysadmins face is dealing with machines when they stop working. Let's say you ssh to "to.ugcs.caltech.edu" and it hangs. What might be wrong?

Later on, you ssh to "to.ugcs.caltech.edu" and it keeps rejecting your password. What could be wrong?

For each scenario, list as many possible issues as you can think of and how you would distinguish between them.

Security
If you were a cracker or a miscreant trying to make the lives of the UGCS sysadmins utterly miserable, what sorts of things could you do? You may assume that they have access to a UGCS account. In a similar vein, what are some of the biggest security vulnerabilities in a Unix-like system? Suggest ways (policies, background processes, etc.) to circumvent these security problems.