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; 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 2013: Mondays, 18:15-20:45, Kiddie 360

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

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 2013-05-06 10:59:59; a draft / work in progress has to be submitted by 2013-04-22: 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:

Lecture slides and other supporting material will be uploaded as the semester progresses.
Date Topic Suggested Reading Material Course Material
2013-01-14 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
2013-01-21 Martin Luther King Day -- No class
2013-01-28 Filesystems and Disks Frisch: Chap. 10
Nemeth et al: Chap. 5, 8
Lecture 02 slides
HW#1
2013-02-04 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
2013-02-11 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
System Administrators' Code of Ethics
2013-02-19 Automating Administrative Tasks I / Shell Essentials Frisch: Chap. 14, Append. A
Nemeth et al: Chap. 9
Lecture 05 slides
shell basics
2013-02-25 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
HW#4
2013-03-04 Networking Frisch: Chap. 5
Nemeth et al: Chap. 13, 15, 20
Burgess: Chap. 3, 10
Limoncelli & Hogan: Chap. 18
Lecture 07 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
2013-03-11 Spring Break -- No class
2013-03-18 Popular services: DNS Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
Lecture 08 slides
DNS Tunneling
2013-03-25 Monitoring; Popular services: SMTP Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
Lecture 09 slides
Homework #5
2013-04-01 Popular services: SNMP, HTTP Frisch: Chap. 9
Nemeth et al: Chap. 16, 19, 22
Burgess: Chap. 9
Limoncelli & Hogan: Chap. 19
Lecture 10 slides
HTTP exercise (extra credit)
2013-04-08 System Security Frisch: Chap. 7
Nemeth et al: Chap. 21
Burgess: Chap. 11, 12
Limoncelli & Hogan: Chap. 7
Lecture 11 slides
Chao Zhang on Kerberos
Traceroute Explaiend (extra credit)
2013-04-15 Configuration Management, Troubleshooting Practices   Tianyi Zan on Distributed File Systems
Guest Lecturers: James Turnbull
Mike Fiedler
2013-04-22 AMA / Misc. Topics / Presentations   Wei Wang on Redundant Memory
Renjie Weng on VPNs
Yang Sun on Hadoop Installation
Hui Zheng on Business Continuity
2013-04-29 AMA / Misc. Topics / Presentations   Luis Bustamante on Mainframes and z/OS
Majed Almakfi on Hardware Maintenance
Han Yan's Interview with a System Administration
Wei Cao on OpenWRT

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