CS615A -- Aspects of System Administration

Course Overview:

In a networked environment, the need for a skilled system administrator has become increasingly obvious, but what exactly does a System Administrator do? Traditionally, the System Administrator's job has not had a precise definition; instead it covers a large variety of duties and requires at times rather broad, at other times very specific knowledge about a multitude of topics in virtually every area of networked computing.

In this class, some of the most essential aspects of system administration will be covered, giving students the opportunity to develop the skills necessary to architect solutions for as well as analyze and troubleshoot problems arising in every day usage of complex networks and large-scale installations.

Some of the topics covered include: hardware configuration, operating system installation, shell programming, security policies, backup deployment and disaster recovery, network design, software installation and maintenance, operating system tuning.

Students are expected to be comfortable in a UNIX-like environment on a user level and have a solid understanding of TCP/IP networking and Operating System concepts.

If you have questions about this class, please email jschauma@stevens.edu and (this is important to escape the spam filters) include "[CS615]" in the subject line.

Cloud Computing

In this class, we will make use of Amazon's Elastic Compute Cloud for all homework assignments; this will give students the chance to gain valuable experience in new technologies currently in high demand in the industry (cloud computing, IPv6) and also provide a possibility for students to gain superuser access to a number of operating systems otherwise not available at Stevens.

Time, Date & Place:

Spring 2012: Mondays, 18:15-20:45, Pierce 216

Resources:

Textbooks:

This class does not have any strictly required textbooks. However, there are two books which are recommended, if only as a reference throughout the semester. These are:

Other suggested reading:

Course Material

If you're interested in the raw course material, ie the .tex files that produce the slides etc., you can find everything on github.

Instructor:

Jan Schaumann [jschauma@stevens.edu]

Grading:

There will (probably) be:
  • a few pop quizzes
  • a number of homework assignments of varying complexity, including, but not limited to: programming, OS installation, OS security, capture-the-flag-style cracking, security principles
  • 1 presentation; see below
  • no curve
  • some seemingly unrelated extra-credit assignments
Letter grades will be given as follows:
  • 90% - 100% of total points => A
  • 80% - 89.99% => B
  • 70% - 79.99% => C
  • 0 - 69.99% points => F
Within each letter grade, there are +/- grades given at the discretion of the instructor. (Exception: there is no A+)

Plagiarism, Cheating and other ways to get an F

This really should not be necessary, but just to preempt any complains that I did not make myself clear:
Students are responsible for their own work. It is unethical (and in some cases illegal) to present as one's work the ideas, words or representations of another without the proper indication of the source. Therefore, it is the student's responsibility to give credit for any quotation, idea or data (such as statistical data or source code) borrowed from an outside source.

Failure to do so constitutes plagiarism, may imply copyright infringement and license violations and is viewed as cheating in this class.

Time Format:

All times, due dates etc. are given in the format YYYY-MM-DD HH:MM:SS according to our systems local time (EST or EDT). A clock is always a 24-hour clock -- there is no AM or PM. Due dates are always fixed, non-negotiable and late submissions are not accepted.

Homework Assignments:

Project / Presentation Description:

For the project, you are required to either write a paper or to prepare a presentation on a specific topic of interest. The topic of the paper or the presentation needs to be approved in advance by the instructor; other than that, there are no restrictions.

If you choose to write a paper, then it should provide an in-depth analysis of the chosen topic based on the research you did, possibly with a case study. The paper should be 8-12 pages long and needs to be submitted via email in either plain text, postscript, or PDF format. The final due date for the paper is 2012-05-07 10:59:59; a draft / work in progress has to be submitted by 2012-04-23: 10:59:59.

For a presentation, you may pick a topic that will be covered in class. Your presentation will then be part of that class -- therefore, you will need to coordinate in advance with the instructor. Otherwise, the presentation will be given in one of the last classes. You probably want to prepare some slides, even though you may, of course, speak freely from your notes if you choose to. Your presentation should be no shorter than 20 minutes.

Syllabus:

Date Topic Suggested Reading Material Course Material
2012-01-23 Introduction, Policies, Overview, UNIX history and basics Frisch: Preface
Nemeth et al: Chap. 1
Burgess: Chap. 1, 2, 14
Limoncelli & Hogan: Preface, 26
SAGE Job Descriptions for System Administrators
Lecture 01 slides
2012-01-30 Filesystems and Disks Frisch: Chap. 10
Nemeth et al: Chap. 5, 8
Lecture 02 slides
2012-02-06 Software Installation Concepts Limoncelli & Hogan: Chap. 23 (in first edition) or Chap. 28 (in second edition)
Burgess (Principles): Chap. 4.6 - 4.8
Frisch: Parts of Chap. 3
Lecture 03 slides
HW#2
2012-02-13 Got root? Multi-user basics, politics, policies and ethics Frisch: Chap. 6
Burgess: Chap. 5
Nemeth et al: Chap. 3, 6, 27
Lecture 04 slides
SAGE Booklet: A Guide to Developing Computing Policy Documents
2012-02-21 Automating Administrative Tasks I / Shell Essentials Frisch: Chap. 14, Append. A
Nemeth et al: Chap. 9
Lecture 05 slides
IPv4 matching regex
shell basics
Misc Examples
2012-02-27 Automation II / Backup and Disaster Recovery Frisch: Chap. 11
Nemeth et al: Chap. 10
Burgess: Chap. 12.1 - 12.4
Limoncelli & Hogan: Chap. 8, 21
SAGE Booklet: Backups and Recovery

Frisch: Chap. 15, 16
Nemeth et al: Chap. 4, 25
Burgess: Chap. 5
Lecture 06 slides
HW#3
2012-03-05 Networking Frisch: Chap. 5
Nemeth et al: Chap. 13, 15, 20
Burgess: Chap. 3, 10
Limoncelli & Hogan: Chap. 18
Lecture 07 slides
telnet ktrace
tcpdump DNS lookup over IPv6
tcpdump DNS lookup over IPv4
tcpdump ping and traceroute
tcpdump TCP port 80 over IPv6
tcpdump TCP port 80 over IPv4
2012-03-12 Spring Break
2012-03-l9 Popular services: DNS, SMTP Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
Lecture 08 slides
Homework #4 
2012-03-26 Popular services: HTTP, SSH Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
Lecture 09 slides
Michael Hegadorn on SSH
HTTP exercise (extra credit)
2012-04-02 System Security Frisch: Chap. 7
Nemeth et al: Chap. 21
Burgess: Chap. 11, 12
Limoncelli & Hogan: Chap. 7
Lecture 10 slides
2012-04-09 AMA / Misc. Topics / Presentations   Drew Michel on Puppet: PDF
Piotr Lupinski on network cabling
Simon Sidhom on botnets
2012-04-16 AMA / Misc. Topics / Presentations   Sean McCoy on HTTPS
Rob Williams on the use of Dropbox within System Administration: PDF
Yipeng Zhang on the Great Firewall of China
2012-04-23 AMA / Misc. Topics / Presentations   Rob Hoffmann on RAID
Mike Weiss on low-power servers
Vincent Lipoma on Disaster Recovery
Christian Robustelli on Nagios: PDF
2012-04-30 AMA / Misc. Topics / Presentations   Bo Yu on Windows Kernel Crash Analysis
Tejas Nadkarni on challenges in administrating virtual environments
Jeopardy

Misc. Topics are done based on interest and time available. They may also be used as a presentation topic. They include: cloud computing, virtualization, IPv6 migration, heterogenous networks / multiple OS, automated installation, server room basics, cooling issues, racking etc. clustering, spam...