Quick Jumps:
Home Lists Forums Downloads Support
Guide Navigation:

Practical Guide to UNIX System Administration

System Administrator's Job Description

Before you learn how to be something, you have to figure out just what that something is. Unfortunately, nobody really agrees on just what exactly it is that a UNIX system administrator is supposed to do since it seems that they end up doing a little bit of everything. Most system administrators take pride in the fact that they're considered a jack of all trades - they're experts in everything from hardware maintenance to people management to software development. There's an old saying that "programmers make better system administrators" - in my experience, anyone whose main area of expertise isn't in system administration makes a better administrator. Some of the best administrators I've met specialized in physics, chemistry, and even history.

The truth of the matter is that you don't have to have any special background in computer science or a related discipline to be a good system administrator. The only intellectual tools you need are the ability to quickly analyze a problem, be able to learn from your mistakes, always think before you act, and a few good reference books. A lot of other disciplines help you develop the skills you need to be an effective system administrator. There are four commandments to system administration that every good administrator follows, at least subconsciously. Some system administrators call them the "everything" rules:

1. Plan everything out in detail before you do it.
2. Make sure there's a way to undo everything you've done.
3. Test everything before you put it on a production system.
4. Know how everything really works.

All of these rules are equally important - if you ignore even one of them, I guarantee you're going to wish you didn't.

While a system administrator usually ends up doing everything from changing printer cartridges to writing software, formal job descriptions usually have the following tasks in common:

  • Installing New Software - Software is constantly being updated and created, and odds are good that your users are going to want the latest and greatest installed on the system. The system administrator's job is to thoroughly test software for security and stability problems before installing it on a production system, and to know enough about the software to be able to provide at least basic help to users who have problems.

  • Adding and Removing Users - Employees or students come and go in any organization, and user accounts come and go as well. The system administrator is responsible for creating accounts for new employees or students, and for removing accounts that belong to people who have left the organization or are no longer needed.

  • Adding and Removing Hardware - As an organization grows and faster hardware becomes available, new components (or even entirely new systems) are acquired for use. The system administrator must install the new hardware or set the new systems up for their intended use.

  • Helping Users - Whether you have 10 users or 10,000 users, they'll constantly ask you questions about hardware, software, and even the best pizza delivery in the area. Try your best to answer every question, no matter how silly, that relates to the system's hardware and software. (Only answer questions about pizza delivery if the user offers to share).

  • Maintaining Local Documentation - The system administrator's job is essentially meddling with things to make them work better (or work in the first place). Make sure you document everything you do in case you have to do it again in the future, or another administrator has to perform the same task.

  • Performing Backups - Sometimes the inevitable happens - a system crash destroys user data. You can either be a hero or a villain when it happens. Good system administrators who like their job opt to be a hero, and make regular backups of all data on the system. Most commercial versions of UNIX (including Solaris) come with tools that automatically perform backups.

  • Auditing Security - The system administrator is responsible for ensuring that no unauthorized use of the system occurs. Usually this just involves staying abreast of security developments and carefully checking log files.

  • Monitoring the System - A good system administrator keeps his fingers on the pulse of the system by watching disk, CPU, memory, and network usage. Noticing a problem in the early stages makes it easier to fix quickly.

  • Troubleshooting - On occasion, software and hardware on a system break. The system administrator needs to be able to quickly find the source of the problem and fix it.

If you were being interviewed for a systems administration job, these are probably the key skills that your interviewers will want you to have experience in.

The most important skills a system administrator has to have (that you probably won't find in a job description) are people skills. The systems you're running exist to help the users do their jobs better and more efficiently. A lot of administrators consider users to be nothing but mere annoyances that should be brushed off as much as possible (sometimes rightfully so). This leads to escalating tension between the system administrator and the users, and prevents useful work from being accomplished. System administrators need to remember that one of the primary reasons they exist is to help the system users accomplish their tasks. Of course, there's another side to the coin. The system administrator has to know when to tell a user no, and mean it. If given half a chance, most users will run you ragged by asking you to do a million things a day. Make sure you always set realistic limits for yourself and your users, and enforce them.


Generously hosted by:
SourceForge Logo