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 (SRE), 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 from your @stevens.edu address and (this is important to escape the spam filters) include "[CS615]" in the subject line.

Time, Date & Place:

Spring 2017: Mondays, 18:15-20:45, Morton 103


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:

This list will be updated as the semester progresses.


Lecture slides and other supporting material listed here is from the Spring 2016 semester and may be updated/changed throughout the Spring 2017 semester. Updated materials will be uploaded here after each class.
Date Topic Suggested Reading Material Course Material
2017-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
An Introduction to System Administration
Documentation Techniques
Pre-class questionnaire
Lecture 01 slides
2017-01-30 Filesystems and Disks Frisch: Chap. 10
Nemeth et al: Chap. 5, 8
File Systems and Storage Models
Pre-class questionnaire
Lecture 02 slides
2017-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
Software Installation and Package Management
Pre-class questionnaire
Lecture 03 slides
boot sequences for different OS
HW#3: package management basics

2017-02-13 Multi-user basics Frisch: Chap. 6
Burgess: Chap. 5
Nemeth et al: Chap. 3, 6, 27
Of Users and Groups
Pre-class questionnaire
Exercise: adding users Lecture 04 slides
2017-02-22 Networking I Frisch: Chap. 5
Nemeth et al: Chap. 13, 15, 20
Burgess: Chap. 3, 10
Limoncelli & Hogan: Chap. 18
Note: Wednesday class!

Pre-class questionnaire
Lecture 05 slides
2017-02-27 Networking II Frisch: Chap. 5
Nemeth et al: Chap. 13, 15, 20
Burgess: Chap. 3, 10
Limoncelli & Hogan: Chap. 18
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

2017-03-06 DNS, HTTP Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
Pre-class questionnaire
Lecture 07 slides
HW#4: tcpdump DNS
2017-03-13 Spring Break
2017-03-20 HTTPS, Monitoring Frisch: Chap. 15
Nemeth et al: Chap. 21
Limoncelli & Hogan: Chap. 22
Pre-class questionnaire
Lecture 08 slides
2017-03-27 Writing System Tools Frisch: Chap. 14, Append. A
Nemeth et al: Chap. 9
Writing System Tools
Pre-class questionnaire
Lecture 09 slides
shell basics
HW#5: Text procession
HW#6: EC2 Tooling
2017-04-03 SMTP; 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
Know a Unix Command: tar(1)
Lecture 10 slides
2017-04-10 Configuration Management Configuration Management Lecture 11 slides
2017-04-17 Ethics and Social Responsibility Primum non nocere
All is not lost (but we need your help)
Lecture 12 slides
2017-04-24 System Security Frisch: Chap. 7
Nemeth et al: Chap. 21
Burgess: Chap. 11, 12
Limoncelli & Hogan: Chap. 7

Information Security Basics
Lecture 13 slides

Capture the Flag!
2017-05-01 Review All course materials and additional links.