IT 341 Introduction to System Administration (a new course)

 

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:

  1. Thomas A. Limoncelli, Christine Hogan and Strata R. ChalupThe Practice of System and Network Administration, 2nd Edition.  Addison Wesley, 2007.  ISBN 978-0321492661.  (This discusses the generic policy questions in system administration, and rarely talks about a particular operating system.)
  2. Evi Nemeth, Garth Snyder, Scott Seebass and Trent R Hein.  Unix System Administration Handbook (Third Edition). Prentice Hall, 2001.   ISBN 0-13-020601-6.  (Unix specific.)
  3. Matt Welsh and Matthias  DaheimerRunning Linux (5th edition).  O'Reilly, 2005.  (Linux specific.)

 

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.