General System Administration Overview
Classification of Systems:
Small sites
have 1 - 10 machines, all running the same OS. Usually the
administrator of a small site has only about 20 users. Usually there
is only one administrator for a small site.
Medium sites
have up to 100 machines, and may be running up to 3
different OSs. The administrator usually has about 100 users.
Medium sites may have more that one administrator, either
specializing in different operating systems or sharing general system
administrator duties.
Large sites
have over 100 computers, multiple operating systems, and
over 100 users. At a large site, there will be a hierarchy of
administration, with the lead or senior System Administrator
responsible for all of the systems and assigning duties to one or
more assistant administrators.
System administration skills can be classified in four general levels. The
links below discuss the required skills, desired skills, and
responsibilities of each of those levels. Following the levels are
some general thoughts on system administration in general.
Novice
Junior
Intermediate/advanced
Senior
Some thoughts on System Administration.
Required skills:
- Has strong inter-personal and communication skills: is capable of
explaining simple procedures in writing or verbally; has good phone
skills.
- Is familiar with Unix and its commands/utilities at the user level.
Can edit files using more than one editor. Uses at least two shells one
of them being the Bourne shell.
- Can perform standard file processing
tasks; find, move, remove, redirection.
Required background:
- Two years of college or equivalent post-high school education or
experience.
Desirable:
- A degree or certificat in computer science or related field.
- Previous experience in customer support, computer operations, system
administration, or another related area.
- Motivated to advance in the profession.
Appropriate responsibilities:
- Perform routine tasks under the direct supervision of a more experienced
administrator.
- Be the front-line interface for users; accepting problem reports and
passing them to the appropriate system administrators.
- Performs some security functions, especially monitoring the system
Top
Required skills:
- Has strong inter-personal and communication skills: capable of training
users in applications and Unix fundamentals. Able to write basic
system and user documentation.
- High skill level with most Unix commands and utilities.
- Familiar with most basic system administration tools and tasks. For example,
can cleanly boot and shutdown the system, add and remove user
accounts, use backup programs, perform fsck and maintain system
database files (groups, hosts, aliases, etc.)
- Fundamental understanding of the functioning of the Unix operating system: for
example understands job control, hard and soft linking, the
difference between shell programs and kernel programs.
- Basic understanding of Unix security procedures
Required background:
- One to three years of system administration experience.
Desirable:
- Degree in CS or a related field.
- Familiarity with networked/ distributed computing environments. For example: can
use the route command, add a workstation to a network, or mount a
remote filesystem.
- Ability to write functional scripts in an administrative language (shell,
Perl, Tk).
- Some programming experience in an applicable language like C.
Appropriate Responsibilities:
- Administer a small site alone, or assist in the administration of a larger site.
- Work under the general supervision of a more senior system administrator
or computer systems manager.
- Perform normal security procedures, able to advise users on
standard security protocol.
Top
Required Skills
- Has strong inter-personal and communication skills: capable of training
users in complex topics, making presentations to internal groups.
Able to write intricate system and user documentation. Capable of
writing and explaining purchase justifications.
- Independent problem solving; self-directed, self-starting.
- Very comfortable with most aspects of the Unix operating system:
paging/swapping, inter-process communication, devices and device
driver fundamentals, file system concepts like inode and superblock.
- Familiar with fundamental networking/distributed computing environments and
concepts. Can configure NFS and NIS, use nslookup or research to
check information in the DNS.
- Ability to write detailed scripts in at least one, preferably two
administrative lnaguages, (shell scripts, Perl, Tk).
- Ability to perform at least minimal debugging and modification of C programs.
- Ability to perform most security audits, and protect the system
against intrusion.
Required Background:
- Three to five years of system administration experience.
Desirable:
- At least a BS in Computer Science or a related field.
- Significant programming background in any applicable language.
Appropriate Responsibilities:
- Receive general instructions for new duties from supervisor.
- Administers a mid-size site alone, or assists in administration of a larger site.
- Initiates some new responsibilities and helps plan for the future of the site
and network.
- Manages novice system administrators or operators.
- Evaluates and/or recommends purchases; has strong influence on the purchasing
process.
- Serves as the first line of defense against intrusion and
inadvertent system damage.
Top
Required Skills
- Strong inter-personal and communication skills; capable of writing proposals
and papers, acting as a vendor liaison, making presentations to
customer/client audiences or making professional presentations, work
closely with upper management.
- Ability to solve problems quickly and completely.
- Ability to identify tasks which should be automated and then write tools to
automate them.
- Solid understanding of the Unix based operations system: understands paging
and swapping, interprocess communication, devices and device drivers,
can perform system analysis and tuning.
- Ability to program in at least one, preferably two administrative languages,
(shell, Perl, Tk) and port C programs from one platform to another,
write small C programs.
- Solid understanding of networking/distributed computing environments,
understanding the principals of routing, client/server programming,
and the design of consistent network-wide filesystems.
Required Background:
- More than 5 years of previous system administration experience.
Desirable:
- A degree in CS or a related field. Advanced degree preferred.
- Extensive programming experience in an applicable language.
- Publications within the field of system administration.
Appropriate Responsibilities:
- Design/implement complex local and wide-area networks of machines.
- Manages a large site or network.
- Works under general direction of senior management.
- Establishes/recommends policies and procedures for system use and services.
- Provides the technical lead and/or supervision for system administrators, system
programmers, or others.
- Has purchasing authority and responsibility for purchase justification.
Top
- Never do something you can't undo.
- Always check the backups, never assume they are working. Make sure you can
restore from them, too.
- Write down what you did, even if you know you will never forget it, you will.
- If you do it more than once, write a script.
- Get to know your users before there is a problem, then when there is, they will
know who you are and maybe have a little understanding.
- Remember you are performing a service for your users, you don't own the system,
you just get to play with it.
- Check your backups.
- Never stop learning, there is always something you should know to make your job
easier and your system more stable and secure.
- Check your backups, again.
Top