CS615 -- 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
the command-line on linux-lab.cs.stevens.edu and/or AWS systems. 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.
Textbooks:
This class does not have any strictly required
textbooks. However, there are some books which are
recommended, if only as a reference throughout the
semester. These are:
Other suggested reading:
- `` Site Reliability Engineering -- How Google Runs Production Systems'',
Jennifer Petoff, Niall Richard Murphy, Betsy Beyer, Chris
Jones
ISBN: 978-1-4919-2912-4
Publisher: O'Reilly &
Associates
(read
online)
- ``Building Secure and Reliable Systems'', Heather Adkins, Betsy Beyer, Paul Blankinship, Ana Oprea, Piotr Lewandowski, Adam Stubblefield
ISBN: 978-1-4920-8312-2
Publisher: O'Reilly & Associates
(read online)
- ``Essential System Administration'', 3rd Edition, by
Æleen
Frisch
ISBN: 0-596-00343-9,
Publisher: O'Reilly &
Associates
(read online)
- ``UNIX in a
Nutshell'', 4th Edition, by Arnold Robbins
ISBN: 978-0-596-10029-2
Publisher: O'Reilly & Associates (read online)
- ``Unix System
Administration Handbook'', 3rd Edition, by Evi
Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein.
ISBN: 0-13-020601-6,
Publisher:
Prentice Hall (read online)
- ``Analytical
Network and System Administration : Managing Human-Computer
Systems'', by Mark Burgess
ISBN: 0-470-86100-2
Publisher: Wiley &
Sons
-
SAGE Booklets
- BOFH
Article series
- Ops School
- Learn Linux The Hard Way
Other related videos:
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.
As a student, you should qualify for Amazon's AWS Educate program.
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, questionnaires, and course notes (12% of the grade)
- a meetup requirement (8% of the grade)
- four individual homework assignments (65% of the grade)
- a group project (CtF) towards the end of the semester (15% of the grade)
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.
The following are the assignments from the Spring 2021 semester. Assignments may be changed in 2022.
The following exercises are not graded, but are recommended
to be completed before or soon after the given lecture to help you
better understand the concepts dicussed:
Lecture slides and other supporting material listed here is from the
Spring 2021 semester and may be updated/changed throughout the Spring
2022 semester. Updated materials will be uploaded here after each class.
Date |
Topic |
Suggested Reading Material |
Course Material |
2022-01-24 |
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
Unix
Documentation Techniques |
Week 01 Self-check
Week 01, Segment 1: Introduction
[slides] [video lecture] [transcript]
Week 01, Segment 2: The Job of a System Administrator
[slides] [video lecture] [transcript]
Week 01, Segment 3: Core Principles
[slides] [video lecture] [transcript]
Week 01, Segment 4: UNIX History
[slides] [video lecture] [transcript]
Week 01, Segment 5: Just enough git(1) -- but without GitHub!
[slides] [video lecture] [transcript]
Week 01, Segment 6: Homework 1: Warming up to EC2
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
HW#1 |
2022-01-31 |
Storage Models and Disks |
Frisch: Chap. 10
Nemeth et al: Chap. 5, 8
File Systems and Storage Models
File System Forensic Analysis |
Warmup Exercise: AWS aliases
[slides] [video lecture] [transcript]
Week 02, Warmup Exercise 1: No Space Left On Device
[slides] [video lecture] [transcript]
Week 02, Warmup Exercise 2: Moving an EBS Volume across OS
[slides] [video lecture] [transcript]
Week 02, Segment 1: Storage Models and Disks
[slides] [video lecture] [transcript]
Week 02, Segment 2: Devices and Interfaces
[slides] [video lecture] [transcript]
Week 02, Segment 3: Storage Virtualization
[slides] [video lecture] [transcript]
Week 02, Segment 4: Physical Disk Structure
[slides] [video lecture] [transcript]
Week 02, Segment 5: Partitions
[slides] [video lecture] [transcript]
Lecture 02: Partition Exercise
Week 02 Self-check
|
2022-02-07 |
Filesystem Basics
Software Types |
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
File Systems and Storage Models
File System Forensic Analysis
Software Installation and Package Management |
Week 03, Segment 1: The Boot Process & the MBR
[slides] [video lecture] [transcript]
Week 03, Segment 2: Filesystems
[slides] [video lecture] [transcript]
Week 03, Segment 3: The Unix Filesystem
[slides] [video lecture] [transcript]
Week 03, Segment 4: Files go hier(7)
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
Week 03 Self-check
boot sequences for different OS
|
2022-02-14 |
Software Installation & Multi-user basics |
Frisch: Chap. 6
Burgess: Chap. 5
Nemeth et al: Chap. 3, 6, 27
Software Installation and Package Management
Of Users and Groups |
Week 04, Segment 1: Types of Software
[slides] [video lecture] [transcript]
Week 04, Segment 2: OS Installation
[slides] [video lecture] [transcript]
Week 04, Segment 3: Package Management
[slides] [video lecture] [transcript]
Week 04, Segment 4: Package Management Pitfalls
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
Package Manager Exercise
Exercise: adding users
Week 04 Self-check
Multiuser Fundamentals slides
|
2022-02-21 |
Presidents' Day |
2022-02-22 |
Networking I |
Frisch: Chap. 5
Nemeth et al: Chap. 13, 15, 20
Burgess: Chap. 3, 10
Limoncelli & Hogan: Chap. 18
WHOIS: Fragile, unparseable, obsolete... and universally relied upon |
Note: Tuesday class
Week 05, Segment 1: Networking I: Layers
[slides] [video lecture] [transcript]
Week 05, Segment 2: Networking I: IPv4 Basics & CIDR subnetting
[slides] [video lecture] [transcript]
Week 05, Segment 3: Networking I: IPv6 Basics
[slides] [video lecture] [transcript]
Week 05, Segment 4: Networking I: IP Allocation & IPv4 Exhaustion
[slides] [video lecture] [transcript]
Week 05, Segment 5: Networking I: The Physical Internet
[slides] [video lecture] [transcript]
Week 05, Segment 6: Networking I: A Network of Networks
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
Week 05 Self-check
HW#2: packet capture
|
2022-02-28 |
Networking II |
Frisch: Chap. 5
Nemeth et al: Chap. 13, 15, 20
Burgess: Chap. 3, 10
Limoncelli & Hogan: Chap. 18
Basic Network Troubleshooting |
Week 06, Segment 1: Networking II: A Simple Request
[slides] [video lecture] [transcript]
Week 06, Segment 2: Networking II: A Simple Request II
[slides] [video lecture] [transcript]
Week 06, Segment 3: Networking II: ARP and NDP
[slides] [video lecture] [transcript]
Week 06, Segment 4: Networking II: ICMP
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
telnet ktrace(1)/kdump(1) output
telnet pcap
|
2022-03-07 |
DNS, HTTP |
Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
(All) DNS Resource Records
TLDs -- Putting the '.fun' in the top of the DNS
DNS Security: Threat Modeling DNSSEC, DoT, and DoH |
Week 07, Segment 1: The Domain Name System, Part I
[slides] [video lecture] [transcript]
Week 07, Segment 2: The Domain Name System, Part II
[slides] [video lecture] [transcript]
Week 07, Segment 3: The Domain Name System, Part III
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
Week 07 Self-check
Lecture 07 slides
HW#3: DNS packet capture
|
2022-03-14 |
Spring Break |
2022-03-21 |
SMTP, HTTPS |
Frisch: Chap. 15
Nemeth et al: Chap. 21
Limoncelli & Hogan: Chap. 22
Your E-Mail Validation Logic is Wrong |
Week 08, Segment 1: E-Mail, Part I
[slides] [video lecture] [transcript]
Week 08, Segment 2: E-Mail, Part II
[slides] [video lecture] [transcript]
Week 08, Segment 3: E-Mail, Part III
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
HTTP Exercise
SMTP Exercise
Week 08 Self-check
Lecture 08 slides
|
2022-03-28 |
Writing System Tools |
Frisch: Chap. 14, Append. A
Nemeth et al: Chap. 9
Automation
Building Scalable Tools
Writing System
Tools
Writing Consistent Tools
|
Week 09 Self-check
Lecture 09: Regex Exercise
Lecture 09: Scripting Exercise
Lecture 09: Bugfiling Exercise
Lecture 09 slides
HW#4: EC2 Backup
shell basics
|
2022-04-04 |
Backup and Disaster Recovery / Monitoring |
Frisch: Chap. 8.1, Chap. 11
Nemeth et al: Chap. 16, Chap. 10
Limoncelli & Hogan: 26
SAGE Booklet: Backups and Recovery
SAGE Booklet: Building a Logging Infrastructure |
Week 09/10, Segment 1: Backups, Part I
[slides] [video lecture] [transcript]
Week 09/10, Segment 2: Backups, Part II
[slides] [video lecture] [transcript]
Week 09/10, Segment 3: Time Machines and Snapshots
[slides] [video lecture] [transcript]
Monitoring slides
Zoom Class Recording (requires a Stevens account)
Week 10 Self-check
Know a Unix Command: tar(1)
Lecture 10: Backup Exercise
|
2022-04-11 |
Configuration Management |
Configuration
Management |
Week 10/Week 11, Segment 1: Configuration Management
[slides] [video lecture] [transcript]
Week 10/Week 11, Segment 2: Configuration Management
[slides] [video lecture] [transcript]
Week 11 Self-check
|
2021-04-18 |
System Security |
Frisch: Chap. 7
Nemeth et al: Chap. 21
Burgess: Chap. 11, 12
Limoncelli & Hogan: Chap. 7
Information
Security Basics
The Attack Life Cycle |
Week 11/Week 12, Segment 1: System Security I: Risk Assessment
[slides] [video lecture] [transcript]
Week 11/Week 12, Segment 2: System Security II: Defining a Threat Model
[slides] [video lecture] [transcript]
Week 11/Week 12, Segment 3: System Security III: From the Attack Life Cycle to Zero Trust
[slides] [video lecture] [transcript]
Week 11/Week 12, Segment 4: System Security IV: Crypto means Cryptography
[slides] [video lecture] [transcript]
Zoom Class Recording (requires a Stevens account)
Week 12 Self-check
Lecture 12 slides
|
2022-04-25 |
Ethics and Social Responsibility |
Primum non
nocere
All is not
lost (but we need your help) |
Zoom Class Recording (requires a Stevens account)
Week 13 Self-check
Lecture 13 slides |
2022-05-02 |
Review |
All course materials and additional links. |
Review Self-check
Capture the Flag!
|
|