Server FaultWhat a beginner should know/learn for sysadmin job?
[+67] [9] LittleBoy
[2009-05-19 06:25:45]
[ career ]
[ ]

This is a Canonical Question [1] about System Administration Careers

When I start my job as System Administrator, what basics skills should I know/learn?

Are there any key differences for Network, Storage, Database, and other Administrators?

(6) I'd start with how to ask questions on serverfault :) - Tim Post
[+86] [2009-05-19 06:39:52] Zoredache [ACCEPTED]

There is a lot of overlap with existing questions, I am creating a wiki here with links. Please feel free to update.


(4) "How To Ask Questions The Smart Way" - required reading to win at life. - Kara Marfia
[+39] [2009-05-19 06:54:43] l0c0b0x

On the personal level:

A really good skill that I hope you acquire on your way towards becoming a sysadmin is the ability to quickly recover from your mistakes... this should become second nature (an automatic reaction).

**While browsing once, I found this strictly unofficial, highly-debatable, yet potentially useful list:

SysAdmin Ten Commandments

[1]: I. Thou shalt respect thy user
It is paramount that you respect the user and their data. Don't steal their MP3s, don't look at their porn. When working with email, look without reading. Respect them and they will respect you.

II. Thou shalt empower the user
The user is the customer. The system is not yours, it is theirs. Provide users the tools they need to be successful and they will be happy. Give them space to experiment, learn and create. Do not hold users back.

III. Thou shalt keep it simple
Keep It Simple, Stupid. The KISS principle will keep you from building barrels to keep a bottle's worth of wine. Do not mistake over-engineering for quality. Quality work is concise and scalable.

IV. Thou shalt expect catastrophe
Expect the worst surprises. Make your resources redundant, backup your data, test your backups, and then backup the backups. The shit will hit the fan someday. Be prepared.

V. Thou shalt plan
Great work follows great plans. Stay on target by first identifying it. Plan your work carefully and surprises will be easier to handle.

VI. Thou shalt stay informed
Gather all the news, information, logs and statistics you can. Without the raw data to analyze, you cannot be secure, you cannot debug problems and you cannot forecast. Without new information, you cannot learn.

VII. Thou shalt share
No one is alone in this world. Pass your knowledge on to others. Give to others, contribute to the community and you will reap many rewards. It is not wise to horde knowledge. Don't be an asshole.

VIII. Thou shalt automate
Do more, faster by automating tasks. You are the puppet master, do not waste your time with menial work. Work smarter, not harder.

IX. Thou shalt document
Always document your work, your code and your plans. Then document their execution and maintenance. Document for others and document for yourself. Documentation should be an extension of your mind and a resource for others.

X. Thou shalt respect thy organization
Without organization, there is no system, there is no user and there is no job. Understand the organization and it's business. Respect it and help it thrive.


(5) Thou shalt backup before one changes. This is important as it allows for... Thou shall have a backout and reversion plan. - Jason Tan
(2) In most companies item II should read more like "Thou shalt teach the users that the system belongs to the company, not the user, and YOU are the one the company chose to manage". "Empowering" users in many cases results in less productivity, not more. - John Gardeniers
[+10] [2009-05-19 14:25:23] Kara Marfia

Create projects for yourself

The best way to learn about how to fix desktops is to build your home computer, and then improve/break it until you're comfortable doing that.

Interested in web servers? Install/enable a web service on your home PC (apache or IIS in XP) and you'll be amazed at how much you pick up about DNS, networking, etc. And how useful that knowledge will be to you down the line.

I could keep listing examples, but you get the idea. The more fun you have with it, the more you learn. The more you know, the more fun your job is. This makes you a more enjoyable coworker, and a better job candidate.

[+6] [2009-05-19 06:50:16] Andrioid

Really depends on your environment. Are you maintaining servers, networks or simply rebooting the Windows Exchange server when it runs out of memory?

In general, these skillset will come in handy.

  • Windows knowledge: workstations, servers, active directory
  • Printers. We all hate them, but they are here to stay.
  • Linux knowledge: experience helps, but generally not to be afraid of the terminal.
  • Network knowledge: Know your network, manage switches, routers, firewalls, site-to-site VPNs.
  • Scripting. This can be .bat files or shell scripts. It will make your life easier.
  • Backups. A requirement for a sysadmin and could get you fired if you screw it up.
  • Programming. Not required but it helps.

Most importantly: You must be able to learn new things. Nobody knows every system, so being able to Google, order books, take courses to improve yourself is very important.

[+6] [2009-05-19 07:46:27] nedm

No one has said much about security, but it's always going to be the elephant in the room on the front burner, to mix metaphors. With respect to security specifically, you should know something about the following areas as well as be familiar with at least one or two tools that help you manage each:

  • patch/vulnerability management
  • encryption methods for data in transit and at data at rest
  • firewalling/filtering principles
  • packet/traffic analysis
  • basic penetration testing methods and attack vectors
  • compliance and regulatory issues in your industry and locale

[+2] [2009-05-19 06:53:11] dmo

Put some time into understanding concepts. Read up on networking, the security models of the servers and OSs you'll be supporting, and how your company's IT is architected. If you have a mental picture of how things are supposed to work, then you can hypothesize what problems are likely to be a symptom of. Then you can do some troubleshooting to investigate further.

If you treat everything as a black box, you'll have to "learn" each individual fix. If understand how things work and how they fit together, the problems you solve will deepen your understanding and make you a better admin.

Also - be honest with users: don't over-promise and under-deliver.

[+2] [2009-07-04 08:31:55] Teddy

Turning the Corner: Upgrading Yourself from "System Clerk" to "System Advocate" [1]


[+2] [2009-11-06 05:40:49] Karl Katzke

Hmn, my top-ten:

  1. How to be wrong. (You aren't always right. Sometimes, when the boss wants Microsoft, he should get Microsoft, or SLES, or something else that isn't ideal but works. Don't drag your feet or you'll be dragging them in the gutter after you get kicked to the curb.)
  2. At least two server virtualization suites. (Xen, VMWare, KVM, etc.)
  3. More than one operating system.
  4. How to consolidate instead of diversify an environment, and why and when.
  5. How to finish tasks.
  6. What things you DON'T need to pay attention to while tweaking.
  7. How to build a troubleshooting tree and work down it without getting bogged down on one branch. -How to spot potential security problems and secure them.
  8. How to talk to bosses. (Think PowerPoint.)
  9. How to take blame and how to place blame.
  10. See #5.

Note that very few of those things are technical? If you know how to be wrong, how to see a task through until it's complete, and have experience with configuring a network interface on Solaris, a few flavors of Linux, and Windows, then you have enough of a basic grasp of networking for an entry level sysadmin job. But the first two are people skills, because no one knows everything or can know everything.

A lot of this stuff only comes from experience. Basically, what you need is experience.

Since you asked mostly about technical skills -- just FYI, you want to avoid looking like you've padded your resume. If you want experience running ESX, get evaluation copies and run a server in your bedroom. But be honest about the level of experience that you have with the products and don't BS someone who might hire you.

[0] [2011-12-10 07:57:28] dusty

The Practice of System and Network Administration, Second Edition [1] by Thomas A. Limoncelli

It's THE book on system administration that focuses on basic things and principles one should keep in mind. Every sysadmin should read this one at least twice.

For a quick look of what this book is about, check the ‘32 questions for your sysadmin team’ [2] on his website.