CS615 -- 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; in some places they are referred to as Systems Engineers, Site Reliability Engineers, or perhaps Web Operations. Elsewhere, the boundaries between traditional "dev" and "ops" are being torn down, yielding a collaborative culture of "DevOps".

In this class, some of the most essential aspects of system administration and the rather broad skillset required in this profession 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: fundamental operating system and filesystem concepts, software installation and package management, configuration management, task automation and tools development, TCP/IP networking, common internet services, and system security.

Students are expected to be comfortable operating in a UNIX-like environment on a user level and have a solid understanding of TCP/IP networking and Operating System concepts. All coursework will be done exclusively on linux-lab.cs.stevens.edu from the command-line. This is not an introduction to using Unix!

If you email me to waive the prerequisites, please provide information about how you meet the requirements listed above in bold. (This has the added benefit of showing that you've actually read at least this far on this page.)

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.

Time, Date & Place:

Spring 2016: Mondays, 18:15-20:45, McLean 106


Jan Schaumann [jschauma@stevens.edu]



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:

Systems Used

In this class, we will make use of Amazon's Elastic Compute Cloud for most 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.

We will access EC2 from and use for almost all assignments and exercises the university's linux-lab.cs.stevens-tech.edu systems. It is the students' responsibility to get an account on these systems prior to the start of the class.


There will (probably) be:
  • course participation
  • a number of homework assignments of varying complexity, possibly including, but not limited to: programming, OS installation, OS security, capture-the-flag-style cracking, security principles
  • a group project towards the end of the semester
  • some extracurricular activities
  • no curve
  • no late submissions
  • no extra credit assignments
  • no make-up 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, yielding a failing grade.
Any incidents are reported to the Dean of Graduate Academics, as per the Graduate Student Code of Academic Conduct.

Note: even if the license/author allows usage of the code or content, you may still not copy it and hand it in as your own work. You are responsible for your own work. Google->StackOverflow->copy'n paste does not count as "work", regardless of how long it took you.

Homework Assignments:


Lecture slides and other supporting material listed here is from the Spring 2015 semester and may be updated/changed throughout the Spring 2016 semester. Updated materials will be uploaded here after each class.
Date Topic Suggested Reading Material Course Material
2016-01-18 Martin Luther King Day -- No class
2016-01-25 No class: snowmaggedon in effect
2016-02-01 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
Pre-class questionnaire
Lecture 01 slides
2016-02-08 Filesystems and Disks Frisch: Chap. 10
Nemeth et al: Chap. 5, 8
Pre-class questionnaire
Lecture 02 slides
2016-02-16 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
Note: Tuesday class!

Pre-class questionnaire
Lecture 03 slides
boot sequences for different OS
HW#3: package management basics

2016-02-22 Got root? Multi-user basics, politics, policies and ethics Frisch: Chap. 6
Burgess: Chap. 5
Nemeth et al: Chap. 3, 6, 27
Pre-class questionnaire
Lecture 04 slides
System Administrators' Code of Ethics
Exercise: adding users
2016-02-29 No class.
2016-03-07 Automating Administrative Tasks I / Shell Essentials Frisch: Chap. 14, Append. A
Nemeth et al: Chap. 9
Writing System Tools
Pre-class questionnaire
Lecture 05 slides
HW#3: ifconfig output parsing
shell basics
2016-03-14 Networking Frisch: Chap. 5
Nemeth et al: Chap. 13, 15, 20
Burgess: Chap. 3, 10
Limoncelli & Hogan: Chap. 18
Pre-class questionnaire
Lecture 06 slides

telnet strace
EC2 script output
EC2 binary tcpdump output
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

HW5: Use tcpdump to observe traffic
2016-03-21 Spring Break
2016-03-28 DNS
Backup and Disaster Recovery
Frisch: Chap. 8.1, Chap. 11
Nemeth et al: Chap. 16, Chap. 10
Limoncelli & Hogan: 26
SAGE Booklet: Backups and Recovery
Pre-class questionnaire
Know a Unix Command: tar(1)
Lecture 07 slides
HW#5: EC2 Backup
2016-04-04 SMTP, HTTP Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
Pre-class questionnaire
Lecture 08 slides
2016-04-11 HTTPS, SNMP, Monitoring Frisch: Chap. 15
Nemeth et al: Chap. 21
Limoncelli & Hogan: Chap. 22
Pre-class questionnaire
Lecture 09 slides
2016-04-18 System Security Frisch: Chap. 7
Nemeth et al: Chap. 21
Burgess: Chap. 11, 12
Limoncelli & Hogan: Chap. 7
Lecture 10 slides

2016-04-25 Review All course materials and additional links. Lecture 11 slides 
2016-05-02 Capture the Flag   CtF Instructions

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...