System Administration
Course Notes #3
What is system administration and who is a system administrator?
System administration is the process of maintaining the operating system of a computer system. On a stand-alone computer, system administration is minimal and usually left up to the individual(s) using the computer. However, for a network of computers or computers that share files or other resources, system administration becomes more significant and more challenging. The system administrator is the person or people who perform system administration.
In the past, system administration often fell on the shoulders of an individual who knew something about the operating system and network configuration used. It was not a job filled by a person who had studied system administration. Often, this job would be given to the person(s) who either had a computer science degree or who just happened to be up on the technology (as a hobby for instance). For instance, the boss might turn to the guy in cubicle 3 who was talking about linux all the time. “Hey Smith, you know something about this linux stuff, don’t you?” “Sure boss, I read the linux user groups all the time.” “Great, I have a new task for you. I need you to get these new machines up to speed. They sent us all these CDs and books. Can you take care of it?” “I guess so.” And now Smith is our system administrator! No raise in salary, little or no reduction in duties. Doesn’t seem fair, does it? Today, even the management seems to be aware of the need for trained system administrators. Thus, the CIT program is set up to teach and train you appropriately. Now the computer scientists can do their software development without being interrupted by the bosses to help with the latest network problems.
There are few programs in the country that teach system administration. Instead, you might find a few courses in a 2-year technical school, or you might find an administration track in a computer science department. The CIT program instead provides you a thorough foundation and depth in a number of areas.
The remainder of this set of notes describes the need for and the duties of a system administrator.
Root access
In order to perform system-oriented operations, most operating systems have a set of privileged instructions, such as creating new user accounts, testing for security holes, and manipulating system data files. To access these privileged instructions, most operating systems have two types of accounts, normal user accounts, and the system administrator, sometimes called the administrator or root. The root account comes with a root password that only a few should know to prevent the casual user from logging in as root and doing something that shouldn’t be done.
The typical system administrator is responsible for
Account management: creating new user accounts and deleting obsolete user accounts
Password management: making sure that all users have passwords that agree with the security policy (e.g., passwords must be changed every month, passwords must include at least one non-alphabetic character) – you might be surprised, but in systems without adequate password management, many users use “” as their password (that is, their password is just hitting the enter key)
File protection management: making sure that files are appropriately protected (for instance, making sure that important documents are not writable by the outside world) and performing timely backups of the file system
Installing and configuring new hardware and troubleshooting hardware including the network
Installing and configuring new software including updating new OS patches, and troubleshooting software
Providing documentation, support and training for computer users
Performing system-level programming as necessary (usually through scripting languages rather than writing large scale applications or systems software)
Security: installing and maintaining a firewall, examining log files to see if there are any odd patterns fo attempted logins, and examining suspicious processes that perhaps shouldn’t be running
In some organizations, system administration is coupled with other administration duties and in other organizations, the tasks are separated. Other such duties (which may or may not be part of the system administrator’s job) are:
Database administration: not necessarily constructing or manipulating an organization’s database, but ensuring that the database is properly secure, is backedup, is accessible via network, and if connected to a web portal, the communication can be performed adequately and accurately without unnecessary delays
Web administration: establishing and maintaining a website including taking care of backups, enabling users to create pages, establishing proper communications with database backends, ensuring security (e.g., monitoring for denial of service attacks) – the job may or may not include the actual creation of individual web pages – this may be left up to others
Network administration: this role is now closely related to system administrator since most computers are networked, and includes establishing and maintaining the network that connects computers including any portals or gateways to external networks (e.g., the Internet), maintaining the equipment (file servers, printers and printer servers, routers, etc) and troubleshooting network problems
Technical support including help desk and training
Computer operator tasks (mounting tapes, monitoring computer systems, etc): in most organizations, we have moved away from the obsolete forms of storage like tapes, but there are still some instances where a computer operator is called upon to mount old files in this fashion, this job may also include such mundane things as lab monitor to ensure that users are using the equipment properly
Security administration: in some organizations, the security aspect of system administration is a separate task, where the administrators are in charge of the filewall and intrusion detection, but may also be involved in creating security policy that a typical system administrator may not be involved in
The types of skills that a system administrator must have are
Troubleshooting/problem solving skills
the ability to detect that a problem has occurred, diagnose what caused the problem, and find a means of fixing it
this is very similar to computer programming except that problems are more varied yet may have simpler solutions, both types of jobs demand patience, the ability to trace through the steps that the computer is taking, and the ability to think logically – and for a system administrator, the solution may involve programming in the form of shell scripting or C coding, but will almost certainly be a solution that requires only a few lines or a few dozen lines of code rather than what a programmer might have to produce
Knowledge of the operating system(s) involved
most system administrators will become experts in the given operating system, but should learn multiple operating systems so that they can adapt to changes, so that they can examine solutions from other systems, and so that they are aware of what other systems have to offer
Ability to write system-level programs (predominantly shell scripts, not large scale programs)
as noted above, it is often the shell scripts that are the glue that hold a system together – if a problem arises, a shell script is often written to solve the problem
Knowledge of systems security (e.g., authentication mechanisms and policies, being able to find illegal intrusions in the system, firewalls, etc)
this is a combination of experience in looking through logs and running or idle processes, as well as knowledge of proper security solutions including firewalls, writing useful scripts, and using available software (see for instance SATAN – system administration tool for analyzing networks)
Ability to learn new computer hardware, software, etc and ability to find solutions such as in manuals or on the Internet when unique problems arise
the ability to adapt as the technology (whether hardware or software) changes is paramount, continued education, often on your own through journals and users groups is not only encouraged but necessary
Share with your friends: |