Course Description
This
is an introduction to the process of choosing, installing, configuring and
maintaining UNIX operating systems such as Linux. Topics include user management, file system management,
security, networked file systems (NFS), networked information systems (NIS),
domain name servers (DNS), mail systems and printers. Students will get practice writing shell scripts. Also, students are introduced to
general system administration policy.
Course Goals
SAGE, the System
Administration Guild, a professional group of the Advanced Computing Systems
Association, defines system administration as ÒActivities, which directly
support the operations and integrity of computing systems and their use and
which manage their intricacies. These activities minimally include system
installation, configuration, integration, maintenance, performance management,
data management, security management, failure analysis and recovery, and user
support. In an inter-networked computing environment, the computer network is
often included as part of the complex computing system.Ó [1] System
administrators solve different types of problems from programmers and software
engineers, the traditional careers of computer science graduates.
System administrators need a
wide range of both hard and soft skills:
á
strong inter-personal and communication skills
á
a deep understanding of at least one operating system
á
a deep understanding of devices and device drivers
á
the ability to write scripts (our own system
administrators say system administration is all about text manipulation)
á
networking,
file systems and DNS
á
the ability to deal with multiple vendors and to make
buy versus build decisions
á
the ability to manage themselves and others
á
the ability to design and implement solutions to a
diverse set of problems
á
the ability to keep pace with the rapid development of
new technologies
As with software
development, there is a general high-level process for system administration
problem solving:
á
Analyze policy requirements. Determine the characteristics of a policy
that needs to be implemented.
á
Design and implement a solution. The characteristics of the particular system
(e.g. Linux or Windows) must be taken into account.
á
Automate where possible. Determine ways of automating the
implementation so that it easier to repeat (often using a scripting language
such as Perl)..
á
Assess the solution.
The policies should be as
simple and unobtrusive as possible while meeting the requirements. (This
same principle applies to software development.) One doesnÕt want to make
unnecessary work for oneself, or burden the end user with unnecessary rules.
This is the first of four
courses that taken as a group intend to provide the skills above. This
introductory course:
á
Introduces the
student to some of the policies that she must implement.
á
Introduces the student to Unix administration: setting up a Unix
network
á
Introduces the
student to techniques for managing her own work and collaborating with others.
How the Course Serves
Students
IT 341 is a required,
foundational course in the System Administration track of the new BS in
Information Technology (IT) degree, offered jointly by the Department of
Computer Science (CSM) and the MSIS Department (CM). The System Administration track is offered by the Computer
Science Department. The trackÕs
purpose is to prepare the student for a career in computer systems
administration and/or information technology in general.
Syllabus
á
Starting Out
o Keeping an engineering notebook.
o Managing your own work.
o Installing, updating, and
configuring a new system.
o Joining a network
á
Principles
o The user is always right;
we may just misunderstand each other.
o Servers, data centers and
data backups.
o Clients and their relation
to servers, remote access and mirrors.
o Services
o Customer requirements and
operational requirements.
o Open vs. closed
architectures.
o Reliability.
o Centralization vs.
Distribution.
o Performance, monitoring and
service rollout.
o Finding the causes of
problems and fixing things once.
o Namespaces
o Security policies.
o Disaster recovery and data
integrity.
o Systems administration
ethics.
o Keeping up: how to keep
learning for a lifetime.
á
Processes
o Change management and
version control.
o Server upgrades
o Maintenance windows.
á
Practices (with lots of hands on exercises on, in our case
Linux)
o Networks
o Email service
o Print Service
o Backup and Restore; fire
drills.
o Remote access.
o Software depot services
(how to distribute software).
o Service monitoring.
á
Projects
Much of the material in this
course will be transmitted by way of hands-on projects, where students, working
in small teams, set up small networks of computers running Linux.
á
Installing Linux
on a PC.
á
Emacs for power users.
á
Setting up a
layout of internet protocol (IP) addresses.
á
Setting up a
domain and a domain name (DNS) server.
á
Setting up
network information services (NIS) and a network file system (NFS).
á
Setting up DHCP.
á
Setting up an
email server.
á
Setting up a
printer server.
á
Writing shell
scripts to set up a local area network (LAN) using the services implemented
above.
á
Installing an
update and/or patches
á
Install
antispyware, antivirusware, and/or a local firewall.
á
Setting up SAMBA
on Unix so that Windows systems can get to your file system.
Grading
Projects and
Engineering Notebooks 50%
Midterm Exam 20%
Final
Exam 30%
Textbooks and
Readings
There
are very good textbooks that address both the policy issues of system
administration, as well as the implementation details. Many are oriented
towards specific systems such as Unix, Linux, Windows and (for people with
taste) Macs.
For
this course, we will use the following:
Additional
readings will be assigned from the SAGE web site at http://www.sage.org/. SAGE is the System
Administrators Guild, a special technical group of the USENIX
Association. They maintain a fabulous web site (which Rick Martin pointed
us to) with all sorts of resources including a series of monographs on core sysadmin subjects.
Accommodations
Section 504 of the Americans
with Disabilities Act of 1990 offers guidelines for curriculum modifications
and adaptations for students with documented disabilities. If applicable,
students may obtain adaptation recommendations from the Ross Center for
Disability Services, Campus Center 2nd Floor, 2100 Street, Room 2010,
617-287-7430. The student must present these recommendations and discuss them
with each professor within a reasonable period, preferably by the end of
Drop/Add period.
Academic Honesty
All students are expected
to follow the University's Code of Student Conduct. If you are caught cheating, we will follow the
guidelines for punishment outlined in the code.
When you turn in work that
you have discussed with someone, or which contains ideas that you found in a
book, you must indicate that fact. We
expect you to talk to each other and to read materials other than those
assigned. We also expect to see in your work evidence that you have done so.
Learning to acknowledge intellectual debts is part of learning. You should be
reading, talking to each other, and telling the world that you have done so.
When group work is called for the group solution should note whenever a part of
the project was done by only a part of the group.
Some kinds of sharing,
however, are unacceptable. You may not use the computer to copy someone's work
and submit it as your own -- even if you acknowledge that theft! You may not
have your friends do your work for you. Versions of some of the assignments in
this course may have been given in previous years. You may not use answers to
those assignments.