天天看点

General System Administration OverviewGeneral System Administration OverviewSystem Administration Skills:

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:

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.

Novice System Administrator:

·         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

Junior System Administrator:

·         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

Intermediate/Advanced System Administrator

·         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

Senior System Administrator:

·         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

Finally, some important thoughts for system Administrators:

  1. Never do something you can't undo.
  2. Always check the backups, never assume they are working. Make sure you can restore from them, too.
  3. Write down what you did, even if you know you will never forget it, you will.
  4. If you do it more than once, write a script.
  5. 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.
  6. Remember you are performing a service for your users, you don't own the system, you just get to play with it.
  7. Check your backups.
  8. Never stop learning , there is always something you should know to make your job easier and your system more stable and secure.
  9. Check your backups, again .

Job Descriptions for System Administrators

Introduction

Definitions

Novice

Junior

Intermediate/Advanced

Senior

Check Offs

Note: an expanded version of this document can be ordered.

Note2: Sizes and measurements below (e.g., "a terabyte of disk space") should be scaled appropriately as technology moves forward.

Introduction

Organizations that rely on computing resources to carry out their mission have always depended on systems administration and systems administrators. The dramatic increase in the number and size of distributed networks of workstations in recent years has created a tremendous demand for more, and better trained, systems administrators. Understanding of the profession of systems administration on the part of employers, however, has not kept pace with the growth in the number of systems administrators or with the growth in complexity of system administration tasks. Both at sites with a long history of using computing resources and at sites into which computers have only recently been introduced, systems administrators face perception problems that present serious obstacles to their successfully carrying out their duties.

Systems administration is a widely varied task. The best systems administrators are generalists: they can wire and repair cables, install new software, repair bugs, train users, offer tips for increased productivity across areas from word processing to CAD tools, evaluate new hardware and software, automate a myriad of mundane tasks, and increase work flow at their site. In general, systems administrators enable people to exploit computers at a level which gains leverage for the entire organization.

Employers frequently fail to understand the background that systems administrators bring to their task. Because systems administration draws on knowledge from many fields, and because it has only recently begun to be taught at a few institutions of higher learning, systems administrators may come from a wide range of academic backgrounds. Most get their skills through on-the-job training by apprenticing themselves to a more experienced mentor. Although the system of informal education by apprenticeship has been extremely effective in producing skilled systems administrators, it is poorly understood by employers and hiring managers, who tend to focus on credentials to the exclusion of other factors when making personnel decisions.

Understanding system administrators' background, training, and the kind of job performance to be expected is challenging; too often, employers fall back into (mis)using the job classifications with which they are familiar. These job classification problems are exacerbated by the scarcity of job descriptions for systems administrators. One frequently used misclassification is that of programmer or software engineer. Although the primary responsibility of the systems administrator is not to produce code, that is the metric by which programmers are evaluated, and systems administrators thus classified often receive poor evaluations for not being "productive" enough. Another common misclassification is the confusion of systems administrators with operators. Especially at smaller sites, where systems administrators themselves have to perform many of the functions normally assigned (at larger sites) to operators, systems administrators are forced to contend with the false assumption they are non-professional technicians. This, in turn, makes it very difficult for systems administrators to be compensated commensurate with their skill and experience.

SAGE, as the professional organization for systems administrators, formed the `sage-jobs' working group to address these problems. Its goals include the creation of a set of appropriate job descriptions for systems administrators and promotion of their adoption by organizations that employ systems administrators.

Below are the current job description templates that the working group has produced. We have created an additional list of check-off items. The templates are intended to describe the core attributes of systems administrators at various levels of job performance, while the check-off list is intended to augment the core descriptions. In particular the check-off list is intended to address site-specific needs, or special areas of expertise that a systems administrator may have. Job descriptions for more experienced systems administrators or more senior positions will typically include more items from the check-off list.

Definitions

A "small site" has 1-10 computers, all running the same operating system, and 20 or fewer users. (A computer used by only the administrator does not qualify as a site.)

A "midsized site" has up to 100 systems, running no more than 3 different operating systems, and up to 100 users.

A "large site" has 100 or more computers, potentially running more than one operating system, and 100 or more users.

The following are the core templates:

Novice

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 a user level; can edit files, use a shell, find users' home directories, navigate through the filesystem, and use i/o redirection.
  • Is able to follow instructions well.

Required background:

  • Two years of college or equivalent post-high-school education or experience.

Desirable:

  • A degree or certificate in computer science or a related field.
  • Previous experience in customer support, computer operations, system administration or another related area. Motivated to advance in the profession.

Appropriate responsibilities:

  • Performs routine tasks under the direct supervision of a more experienced system administrator.
  • Acts as a front-line interface to users, accepting trouble reports and dispatching them to appropriate system administrators.

Junior

Required skills:

  • Strong inter-personal and communication skills; capable of training users in applications and UNIX fundamentals, and writing basic documentation.
  • High skill with of most UNIX commands/utilities. Familiarity with most basic system administration tools and processes; for example, can boot/shutdown a machine, add and remove user accounts, use backup programs and fsck, maintain system database files (groups, hosts, aliases). Fundamental understanding of a UNIX-based operating system; for example, understands job control, soft and hard links, distinctions between the kernel and the shell.

Required background:

One to three years of system administration experience.

Desirable:

  • A degree in computer science or a related field.
  • Familiarity with networked/distributed computing environment concepts; for example, can use the route command, add a workstation to a network, and mount remote filesystems.
  • Ability to write scripts in some administrative language (Tk, Perl, a shell).
  • Programming experience in any applicable language.

Appropriate responsibilities:

Administers a small site alone or assists in the administration of a larger system. Works under the general supervision of a system administrator or computer systems manager.

Intermediate/Advanced

Required skills:

  • Strong inter-personal and communication skills; capable of writing purchase justifications, training users in complex topics, making presentations to an internal audience, and interacting positively with upper management. Independent problem solving; self-direction.
  • Is comfortable with most aspects of UNIX systems administration; for example, configuration of mail systems, system installation and configuration, printing systems, fundamentals of security, installing third-party software.
  • A solid understanding of a UNIX-based operating system; understands paging and swapping, inter-process communication, devices and what device drivers do, filesystem concepts ("inode", "superblock").
  • Familiarity with fundamental networking/distributed computing environment concepts; can configure NFS and NIS , can use nslookup or dig to check information in the DNS, understands basic routing concepts.
  • Ability to write scripts in some administrative language (Tk, Perl, a shell).
  • Ability to do minimal debugging and modification of C programs.

Required background:

Three to five years systems administration experience.

Desirable:

  • A degree in computer science or a related field.
  • Significant programming background in any applicable language.

Appropriate responsibilities:

  • Receives general instructions for new responsibilities from supervisor.
  • Administers a mid-sized site alone or assists in the administration of a larger site.
  • Initiates some new responsibilities and helps to plan for the future of the site/network.
  • Manages novice system administrators or operators. Evaluates and/or recommends purchases; has strong influence on purchasing process.

Senior

Required skills:

  • Strong inter-personal and communication skills; capable of writing proposals or papers, acting as a vendor liaison, making presentations to customer or client audiences or professional peers, and working closely with upper management.
  • Ability to solve problems quickly and completely.
  • Ability to identify tasks which require automation and automate them.
  • A solid understanding of a UNIX-based operating system; understands paging and swapping, inter-process communication, devices and what device drivers do, filesystem concepts ("inode", "superblock"), can use performance analysis to tune systems.
  • A solid understanding of networking/distributed computing environment concepts; understands principles of routing, client/server programming, the design of consistent network-wide filesystem layouts.
  • Ability to program in an administrative language (Tk, Perl, a shell), to port C programs from one platform to another, and to write small C programs.

Required background:

More than five years previous systems administration experience.

Desirable:

  • A degree in computer science or a related field.
  • Extensive programming background in any applicable language.
  • Publications within the field of system administration.

Appropriate responsibilities:

  • Designs/implements complex local and wide-area networks of machines.
  • Manages a large site or network.
  • Works under general direction from senior management. Establishes/recommends policies on system use and services.
  • Provides technical lead and/or supervises system administrators, system programmers, or others of equivalent seniority.
  • Has purchasing authority and responsibility for purchase justification.

Check Offs

These are things you might want to add to the base job descriptions as either required or desirable.

Local Environment Experience

Experience with the specific operating systems, applications, or programming languages in use at the site (for example SunOS, AIX, CAE/CAD software, FrameMaker, Mathematica, Fortran, Ada ). Experience with the work done by the users at the site.

Heterogeneity Experience

Experience with more than one UNIX-based operating system. Experience with sites running more than one UNIX-based operating system. Familiarity with both System V and BSD-based UNIX operating systems. Experience with non-UNIX operating systems (for example, MS-DOS, Macintosh OS, or VMS). Experience with internetworking UNIX and other operating systems (MS-DOS, Macintosh OS, VMS).

Programming Skills

Extensive programming experience in an administrative language (Tk, Perl, a shell). Extensive programming experience in any applicable language.

Networking Skills

Experience configuring network filesystems (for example, NFS, RFS, or AFS). Experience with network file synchronization schemes (for example, rdist and track). Experience configuring automounters. Experience configuring license managers. Experience configuring NIS/NIS+. Experience with TCP/IP networking protocols (ability to debug and program at the network level). Experience with non-TCP/IP networking protocols (for example, OSI, Chaosnet, DECnet, Appletalk, Novell Netware, Banyan Vines). Experience with high-speed networking (for example, FDDI, ATM, or SONET). Experience with complex TCP/IP networks (networks that contain routers). Experience with highly complex TCP/IP networks (networks that contain multiple routers and multiple media). Experience configuring and maintaining routers. Experience maintaining a site-wide modem pool/terminal servers. Experience with X/X terminals. Experience with dial-up networking (for example, SLIP, PPP, or UUCP). Experience at a site that is connected to the Internet. Experience installing/configuring DNS/BIND. Experience installing/administering Usenet news. Experience as postmaster of a site with external connections.

Security

Experience with network security (for example, building firewalls, deploying authentication systems, or applying cryptography to network applications). Experience with classified computing. Experience with multi-level classified environments. Experience with host security (for example, passwords, uids/gids, file permissions, filesystem integrity, use of security packages).

Site Specialities

Experience at sites with over 1,000 computers, over 1,000 users, or over a terabyte of disk space. Experience with supercomputers. Experience coordinating multiple independent computer facilities (for example, working for the central group at a large company or university). Experience with a site with 100% uptime requirement. Experience developing/implementing a site disaster recovery plan. Experience with a site requiring charge-back accounting.

Documentation

Background in technical publications, documentation, or desktop publishing.

Databases

Experience using relational databases. Experience using a database query language. Experience programming in a database query language. Previous experience as a database administrator.

Hardware

Experience installing and maintaining the network cabling in use at the site. Experience installing boards and memory into systems. Experience with SCSI device setup and installation. Experience installing/configuring peripherals (for example, disks, modems, printers, or data acquisition devices). Experience with board-level diagnosis and repair of computer systems. Experience with component-level diagnosis and repair of computer system.

Management

Budget responsibility. Experience in writing personnel reviews, and ranking processes. Experience in interviewing/hiring

What Does a System Administrator Do? Meet your technology guru

A system administrator is a supreme being who maintains and troubleshoots your computer systems. Depending on the size of your organization and the complexity of your technology, a system administrator's job can range from ten hours per week to full-time.

The basic responsibilities of a system administrator are:

  • staff training and support
  • software installation, maintenance, and upgrading
  • hardware installation, maintenance, and upgrading
  • research and troubleshooting
  • routine network administration and maintenance
  • network documentation
  • database supervision

If your system administrator also manages your network, this person should have the following skills:

  • knowledge and experience with the type of network you have
  • knowledge and experience with your office applications
  • knowledge and experience with network software installation
  • knowledge and experience with hardware installation and upgrades
  • ability to teach and train about network use and software skills
  • knowledge and experience with network e-mail is helpful
  • dedication to appropriate uses of computer technology, including the ability to use and adapt older equipment

Some of the day-to-day support tasks a system administrator should perform include:

  • performing backups of your staff's computers and of the server, if you have one
  • adding and deleting new network users
  • making sure that virus protection software is up-to-date, and cleaning any viruses that infect staff computers
  • training and assisting staff in using hardware and software efficiently
  • troubleshooting any routine problems that staff cannot fix on their own, such as a problem with the printer or a computer that freezes repeatedly

A good systems administrator keeps things working smoothly day to day, but also tries to grow with the job and improve the way the organization uses technology. For instance, a systems administrator might take an interest in learning all about the organization's database and developing better ways to automate and integrate it into the work of the organization.

Bear in mind that a systems administrator cannot solve all of your technical problems. It is normal to bring in consultants for more specialized and complicated service and support. Think of it as the difference between a general contractor and a specialty contractor. Your systems administrator can take care of most needs, but for certain things you need a specialist. Read TechSoup's Finding a Consultant  article for information on how to find the right technical consultant.

One word of caution: Don't let your systems administrator be the only person who understands your systems. If you become too dependent on him or her, you could be in for trouble should this person get sick or take another job. We recommend that the systems administrator develop full documentation of the agency's computer systems and share skills and information routinely with other staff. In order to keep staff informed, the systems administrator can organize general trainings, develop a schedule for one-on-one trainings, and share any information that will impact staff who use the computer resources at your site. Many organizations find it useful to form a technology committee that includes the systems administrator, the executive director, an administrative staff person, and perhaps a program staff member. A technology team can help an organization develop a shared technology vision and ensure that technology decisions benefit from a wide range of staff input.

继续阅读