CTS 2322
Unix/Linux Administration II

View Weekly Course Schedule 

View Course Resources.

View Project 1 (install) requirements.
View Project 2 (backups) requirements.
View Project 3 (security) requirements.
View Project 4 (RCS, man page) requirements.
View Project 5 (building software) requirements.
View Project 6 (building kernel) requirements.
View Project 7 (caching DNS) requirements.
View Project 8 (web services) requirements.
              Other interesting links:

Visit the Tampa-St. Pete Linux User's Group (SLUG).  This group holds monthly meetings at HCC.
Most Unix and Linux software is actually GNU software (www.gnu.org), a project of the Free Software Foundation.  Search for RPMs and download updates from RPMFind.net.
A lot of Linux software can be found at www.FreshMeat.net.  You can get involved with open-source software at sourceforge.net.  You can download free distributions of Unix and Linux from distrowatch.com.
Download The PuTTY suite of Internet tools: SSH, scp, sFTP, and others, from www.chiark.greenend.org.uk/~sgtatham/putty.  Download the WinSCP GUI wrapper for the PuTTY scp and sFTP tools from sourceforge.net/projects/winscp/.
Read the real History of Unix, by one of its inventors.
Visit www.unix.org for the Open Group's Unix site, including the Single Unix Specification.

Syllabus

Summer 2020

Course policies
Time & Place: Ref No. 39827: Tuesday & Thursday, 5:30 – 6:45 PM, via Zoom on-line meetings
Instructor: Name:  Wayne Pollock
E-mail:  Internet:
Office & Phone:  DTEC–404, 253–7213 (voice mail only)
View my Office Hours.
Skype ID:  wpollock@hccfl.edu    
Homepage URL:  https://wpollock.com/
Text: Evi Nemeth et. al., Unix and Linux System Administration Handbook, Fifth Edition.  ©2018 Pearson Education, Inc.  ISBN: 978-0-13-427755-4.

HCC bookstore on-line

Description: (This course is 3 credit hours long.)  “This course is a continuation of CTS 2301C (Unix Administration I).  The focus is on Unix and Linux administration.  Topics include software development tools, software licensing and open source issues, managing documentation and creating 'man pages', configuring network services including email, web, and DNS.  Also covered will be building and configuring custom kernels and kernel modules, patching and updating the kernel and applications, system and service monitoring and logging, and basic system security.  Student will gain hands on experience installing, configuring and using Linux.  Prerequisite:  CTS 2301C.”
Objectives: "After completing this course, the student will be able to:
  1. Understand and manage basic system and network security, including permissions for files and directories, ACLs (access control lists) and attributes, SetUID/SetGID, file locking and lock files
  2. Understand the basics of isolation techniques (chroot, BSD jails, and Solaris zones), hashing, encryption, and digital signatures
  3. Understand the basic concepts of role-based access control
  4. Understand and manage security policies using sudo, PAM, and TCP Wrappers
  5. Use and secure cron, anacron (and systemd timer units), and at
  6. Manage, locate on the Internet, and install documentation; and create man pages using nroff
  7. Understand basic use of development tools: the C compiler, make, source code management tools (RCS and Git), using patch, creating RPM packages, using shared libraries
  8. Understand software licensing and issues of open source software
  9. Understand the concepts of a system kernel, including loading, booting, RAM disks, and loadable kernel modules
  10. Understand, install, and upgrade kernel modules and use kernel patches
  11. Customize, configure, and install kernels from scratch (rebuild from source)
  12. Perform system and service monitoring, using alerting tools, and understand process accounting and system auditing
  13. Understand, manage, and configure system logging, log file rotation, securing log data, using a central loghost, integrating logs from Windows, and using logs
  14. Understand basic system tuning
  15. Understand processes, threads and SMP (multiple core CPUs), and manage processes (create, monitor, control, and kill)
  16. Understand networking and TCP/IP basics (addressing, port numbers, RPC)
  17. Configure basic DHCP and static IP configuration, and use trouble-shooting tools
  18. Setup, configure, and troubleshoot common problems for basic DNS services, including configuring the resolver, /etc/hosts and other files, configuring a caching-only name server, and using DNS related tools such as dig, nslookup, and whois
  19. Understand and configure email services, including mail server, POP/IMAP, web mail, mailing lists, email aliases, and virus and spam control
  20. Setup and configure time, time zones, locales, and using NTP
  21. Understand (including hardware requirements), manage, and configure basic Apache web services"
Prerequisite: CTS–2301C (Unix/Linux Administration I) or permission of the instructor.  (Also recommended is COP-2344 (Shell Scripting).)  Students enrolled in a degree or college credit certificate program must complete all prerequisites.  Note!  Be certain you have all required prerequisites or you won't have much of a chance of success.  Also you may be dropped from the class.
Facilities: YborStudent.hccfl.edu (a Linux server) can be accessed from on or off campus and can be used to practice, examine configuration files, read man pages, and do some parts of some assignments.  From off-campus you can also practice using any Unix/Linux system available (or install Linux at home). 

A class “wiki” has been set up for your use, at YborStudent.hccfl.edu/UnixWiki/.  To add or modify any content you must create a login for yourself.  You can use this wiki to hold discussions, ask questions, and contribute information to the collaborative study guide. 

You will need your own flash disk (preferably USB-3 compliant), writing materials, and Scantron 882–E or 882–ES forms.

You can use HawkNet (WebAdvisor) to obtain your final grade for the course.  You can use your assigned Hawkmail (Hawkmail365) or Canvas email address if you wish to discuss your grades via email.  (Note, it may be possible to setup your Hawkmail account to forward all received emails to some outside email account, but you still must send mail from Hawkmail or Canvas to discuss grades.)

Most college systems use a single sign-on user ID, known as HCC “NetID”.  Visit netid.hccfl.edu to register and to update your credentials.  (Your initial password is your uppercase first name initial, lowercase last name initial, and your seven digit student ID number.)  Note, the quickest way to resolve login issues is the HCC Live Web Portal (hcclive.hccfl.edu).

The college provides wireless network connections for students and guests on Dale Mabry campus.  For students, select the network “HCC_Wireless” from the list of available networks.  Follow the on-screen steps by entering your HCC email address and network password.  For HCC guests: Select “HCC_Guest” from available networks.  Follow the on-screen steps to complete registration.  This network will be available between 7:00 AM and 10:00 PM.  These are the only official HCC networks; don't use others that may appear.

Hawk Alert text messaging service allows you to receive important information regarding campus closures or emergencies.  You may also sign up for financial aid notifications and registration and payment deadlines.  This is a free service, although some fees may be applied by your cellular service provider or plan for text messages.  To sign up, or for more information, visit www.hccfl.edu/hawkalert/.

HCC's Student Assistance Program (SAP) offers resources tailored to student life, providing you with the right tools to help you through some of life's toughest challenges.  The college has contracted Baycare Health Management to provide free, professional, confidential counseling by telephone and in person.  A wide range of topics may be addressed through this program, including mental health counseling, budgeting, and financial concerns.  Please call 800-878-5470 or send email to baycaresap@baycare.org for further information.

HCC DM Open Lab CLOSED FOR THE SUMMER DUE TO COVID-19

Computers with PuTTY installed are located in the computer science department open lab in DTEC–462.  Additionally, there are several computers in there identical with the ones in our classroom, so you can use your removable hard drive.  Lab hours are:

Monday – Thursday8:00 AM to 10:00 PM
Friday 8:00 AM to 4:30 PM
Saturday 8:00 AM to 2:30 PM

(Note:  Lab technicians (“Lab Techs”) are not teaching assistants or tutors, and shouldn't be expected to help you with your coursework.)

Rules for Using HCC Facilities

  1. No food or drinks near computer equipment.
  2. Students bringing their own laptops need to use the wireless network only.  Students cannot disconnect network cables from classroom's computers to connect their personal devices.
  3. Students are not allowed to disconnect monitors or computers to power their personal equipment.
Grading:
Projects (about 8): 50%
3 equally weighted closed-book multiple choice exams     50%
Wiki (class study guide) extra-credit     +5
Classroom participation: +5

Grading scale:  A=90-100,   B=80-89,   C=70-79,   D=65-69,   F=0-64
(Or you can elect to "audit" the class during the add/drop period.)

(Collaborating on the class wiki counts as up to 5 points extra credit, as does active class participation.  See below for details.)

Policies:
  • Course format is interactive lecture via Zoom, with most projects done outside of class.  Any student can request that a given lecture be recorded, as long as they ask before the class starts.
  • Exams will be taken via Canvas, outside of normal class meeting times.
  • No make-up exams will be offered without the prior approval of the instructor.  If a make-up exam is offered, you can take the exam in my office during my regular office hours, or from the Dale Mabry Testing Center.  (Check for their hours of operation, and make sure to give yourself sufficient time to complete an exam.  You will need to make an appointment to schedule a make-up exam.)
  • Exams will be closed book and closed note multiple choice exams.  While the exams are non-cumulative, each does build upon knowledge acquired earlier.  Exams are based mostly upon material presented in class, however some questions may be from assigned readings (the textbook and on-line resources).
  • Exams will never cover material not yet discussed in class or assigned in the readings.  Should the class fall behind the course schedule, some topics shown on the syllabus due for an earlier exam will be tested on the following exam instead.
  • The schedule for the final week of the term may cause a conflict between our class schedule and another class's final exam.  It is up to you to determine if you will have a conflict, and to bring it to the attention of your instructor, so that appropriate arrangements can be made.
  • Regular attendance is imperative for the successful completion of this class.  The textbook and on-line resources should be considered as required course supplements; in other words the course is not based on the text.
  • All phones, pagers, and beepers must be turned off during class time, except with prior permission of the instructor.  No food or drink is permitted in HCC classrooms.
  • Attendance will be taken within 5 minutes of the start of class; after 4 absences and/or lateness, the student will lose 2 points off the final grade for each additional occurrence.
  • If you miss a class you are still responsible for the material covered in that class.  All students should exchange contact information (name, email address, phone number) with at least one other student in the class.  If you must miss a class, you should then contact another student and request they take class notes for you.  (Note, Hawknet has Hawkmail365 email for HCC students.)
  • Credit for class participation includes attendance, preparedness, and adding to class discussions by asking questions and participating in discussions.  Playing computer games, surfing the Internet, or working on assignments for this or other classes during class time will lose you credit.
  • Additional time outside of class will be required.  For typical students an average of between 6 and 10 hours each week outside of class are required for preparation, practice, and projects.  Note some projects will require you to complete them from our classroom (or the open lab).
  • Students are expected to prepare for each class by completing all reading assignments, reviewing examples and model solutions provided, and practicing outside of class.  This is important — you can't learn a skill such as system administration only by attending class and reading books.  You must practice several hours a few days each week!  If you won't have enough time available, consider auditing the course.
  • Students are expected to check the class website regularly.  Any syllabus changes, class cancellations, project assignments, and homework assignments are announced in class and posted to the website and via other means, such as Canvas announcements or via the RSS feed for this class.
  • A student shall not, without my express authorization, make or receive any recording, including but not limited to audio and video recordings, of any class, co-curricular meeting, organizational meeting, or meeting with me.  Further you do not have my permission to post on the web or otherwise distribute my class lectures and other course materials.  (You can distribute freely any materials I make publicly available from the HCC (or the wpollock.com) website, without asking permission, provided you give me credit for the work and don't alter it.  Any other use will require expressly given permission.
  • Working together on individual assignments is considered as cheating!  Turning in someone else's work without giving them credit is also considered cheating (plagiarism).  Cheating will result in an automatic F (zero) for the project for all parties.  Note that some projects may be group projects, where each member of a small group works together on a project.  It is also OK to ask a fellow student for class notes (in the event you miss a class) or for help in understanding the text or material given to the class (e.g., examples on the class website).  It is encouraged to study together as well.
  • Because you can learn a lot from your peers, both in the class and in the broader community, I encourage collaboration with both.  However, do not mistake this as a license to cheat.  It is one thing to learn from and with your peers; it is another to pass their work off as your own.  With respect to assignments for this class:
    • You are expected to document any collaboration that takes place.
    • Absolutely no electronic transfer (or other copying) of code between students is permitted.
    • Any code (shell commands) that you “find” on the Internet must be cited, with an active link to that code.
    • While you are encouraged to engage in conversations in online forums, under no circumstances are you permitted to solicit other individuals to complete your work for you.  (So, no posting assignments or homework questions and asking for answers.)
    • Ultimately, YOU are responsible for all aspects of your submissions.  Failure to be able to explain and defend your submission will be treated as a violation of academic integrity.
  • You must abide by the HCC Acceptable Use Policy (AUP) for computers and services.  In particular, you must not run network scanners, or attempt to obtain administrator (“root”) privileges or otherwise disrupt HCC computers and services.  In some explicitly stated circumstances, some parts of the AUP may not apply.  If in any doubt, ask!
  • You must follow the academic honesty policy and the student code of conduct for HCC.  A second cheating offense will result in an “F” for the course, and your name will be turned over to the dean for further handling.  I take these matters very seriously.  You have been warned!
  • Every effort will be made to stick to the weekly schedule for our course.  However it may happen that we will fall behind the schedule at some point.  If so, no topics will be skipped.  Instead we will attempt to catch up over the following weeks.
  • Please be aware that if we fall behind on the weekly schedule, the topics discussed may not match what shows on the syllabus.  The weekly schedule may (but probably won't be) updated in this case.
  • In case we do fall behind, projects and exams will not be automatically postponed.  Should your instructor deem it necessary, projects and exams may be rescheduled; this will be announced in class and via other means.
  • Communications Policy:  I will respond to your emails within 48 hours or two business days.  HCC policy is that grades can only be discussed in person during office hours, or via email only if you use your assigned HCC HawkNet (Hawkmail365) email account.
  • No appointment is necessary to see me during my scheduled, on-campus office hours.  You can just “walk-in”.  You can make appointments for other times as long as I'm available. 
  • Occasionally my office hours will be canceled on short (or no) notice, for example if the dean calls me for a meeting.  Before driving out to campus just for my office hours, you can contact me the night before to make sure I still plan to be there.
  • Late Policies:  Late assignments (homework assignments, projects, or exams) generally will not be accepted.  An assignment is late if not turned in by the start of class on the day it is due.

    Late assignments will be accepted late only if you obtain the instructor's permission prior to the due date of the assignment, or for a documented serious medical reason.  All late assignments are subject to a late penalty of at least one letter grade (10%) regardless of the reason for the delay.

    Assignments later than one week will receive a more severe late penalty; very late assignments without adequate excuses will receive a grade of “F” (0).  However if you have a very good reason your instructor may waive any or all of the late penalty.  (Examples of good reasons include extended illness that prevents working, or being out of town for work reasons.  Remember documentation will be required.)

  • The dangers of the flu or another contagious disease require some changes to normal policies.  HCC is implementing the recommendations for institutions of higher learning of the CDC.  (See www.cdc.gov/h1n1flu/guidance/ and www.flu.gov/ for guidance from the CDC.)  You won't need documentation if you miss class due to the flu.  (But if you think you have the flu, you should see a doctor as soon as you can.)  In the unlikely event of a school closure due to the flu, some plan to make up the missed work will be made.

    If you think you have the flu, stay home.  Do not come to HCC until 48 hours after your fever has broken as you are still infectious.  Also, people are infectious to others for a day or so before they have any symptoms.  Flu is spread by touching doorknobs, computer keyboards, railings on stairs, etc., that were touched by someone with the flu.  Avoid shaking hands; use the “fist shake” (touching of fists) if you must use a physical greeting.  The most effective way to avoid catching the flu is to wash your hands frequently, especially after touching something that was touched by others.  Avoid unnecessary touching of eyes, nose and mouth.  While not as good as properly washing hands, hand sanitizers have been installed throughout the campus; use them often.

Projects:

Projects will be due at various times.  You will have sufficient time to complete the projects, usually at least a week.  You typically work on the projects outside of regular class hours.  Note you can work on projects whenever you have time; you don't have to wait to start one.

You may work together in small groups (2 or 3 students) on projects, provided the names of all who worked together are listed on each student's submission.  Each student must still submit their own copy of the assignment.

There is no requirement that you re-install your system; you are permitted to continue using the same disk as for Administration I, if it it available.  However, you are encouraged to install it again, especially if that system is unstable.  In any case, there is an Install project you must submit.

You will need to have Fedora 31 available for you to use as administrator.  Most students will use a virtual machine (such as VirtualBox) to set this up on their home PC (or laptop), but you can set up a dual-boot machine or use an older PC/laptop and simply install Linux on it.  (See project #1 for more details.)

Projects are graded on the following scale:

A = 95% (Excellent: Good design with good comments, style, and extras)
B = 85% (Good: Good design, some comments, readable style, and it works)
C = 75% (Acceptable: Project objectives are met or are close to being met)
D = 65% (Unacceptable)
E = 10-64% (Variable credit: At least you tried)
F =  0% (Didn't hand in the project)

Minor extras worth +5 points, minor omissions or poor design worth -5.

Projects are not graded when turned in.  They are graded all at once, sometime after the project deadline has passed (usually the next weekend).  (See also submitting assignments below.)

Wiki
Assignment:
Extra credit can be earned by updating the study guide on the class wiki with a substantial contribution based on the material covered in class, from assigned readings, or from other resources you have studied.  A substantial contribution means adding new material, adding references (links), or elaborating (or correcting) some previous submission.  You should use wiki formatting and not HTML formatting when possible, and be sure to spell-check your work.  The wiki will automatically send your instructor an email for each update, so there is no need to add your name to your contribution.

Your instructor is the editor and moderator of this study guide (and for all material posted on this wiki site).  Some time will be given for students to correct postings.  However, in order to ensure an accurate study guide, the instructor may edit, add to, or remove material posted by students.

Your contributions will be graded based on correctness, completeness, and clarity.  Note regular posting is required to earn extra credit; one large post the last week of the term will not earn much (if any) extra credit.

Submitting Projects: Projects can be submitted by email to .  Please use a subject such as “Unix/Linux Admin II Project #1 Submission” so I can tell which emails are submitted work.  Send only one assignment per email message.  Email your projects by copy-and-paste into your mail program.  (Please do not send as attachments!)  If possible use the “text” and not the “HTML” mode of your email program.  Do not send to wpollock@YborStudent.hccfl.edu as I may not read that account regularly.

In the event a student submits more than once for the same assignment, I will ignore all but the last one received up to the deadline.  Assignments submitted after the deadline will not count toward your grade except as allowed by the course late policy.  Also, you cannot resubmit an assignment once it has been graded.

If you have an email problem you may turn in a printout instead.  Be sure your name is clearly written on the top of any pages turned in.  Please staple multiple pages together (at the upper left).

Use Canvas drop-boxes (the Assignments tool) to submit your projects.
HCC Academic Calendar:
Classes Begin: Monday  5/18/2020   (First class meeting: Tuesday 5/19/2020)
Add-Drop Ends: Friday   5/22/2020
Last Day to Withdraw:  Tuesday  7/7/2020
Classes End: Monday  8/10/2020   (Last class meeting: Thursday 8/6/2020)
Grades Available:  Thursday  8/12/2020   (from HawkNet)
HCC is closed on: Saturday–Monday,  5/23/2020–5/25/2020 (Memorial Day),
Friday–Sunday,   7/3/2020–7/5/2020 (Independence Day)

Consequences of Dropping or Withdrawing

Dropping or withdrawing may have an impact on financial aid, veteran’s benefits, or international student visa status.  Students are encouraged to consult with a financial aid, the VA certifying official, or the international student advisor, as appropriate, prior to dropping or withdrawing from class.

Requests For Accommodations

If, to participate in this course, you require an accommodation due to a physical disability or learning impairment, you must contact the Office of Services to Students with Disabilities, Dale Mabry campus: Student Services Building (DSTU) Room 102, voice phone: (813) 259–6035,  FAX: (813) 253–7336.

HCC has a religious observance policy that accommodates the religious observance, practices, and beliefs of students.  Should students need to miss class or postpone examinations and assignments due to religious observances, they must notify their instructor at least one week prior to a religious observance.

 

Quotes on learning
Quotes:         Tell me and I'll listen.
Show me and I'll understand.
Involve me and I'll learn.
    — Lakota Indian saying
        Learning is not a spectator sport!     — Chickering & Gamson

Course schedule for CTS 2322

Day by day course schedule
Dates
Tue       Thu
Topics
  5/19     5/21 Review syllabus.  Backups and archives: restore issues, policies, tools, and techniques.
Readings:  Chapters 20 (backups, pp. 88-90), 31.6-31.10 (policies),  (not required but useful: chapter 7 (shell scripting))
  5/26   Brief Unix/Linux system security overview:  rings of security, security auditing and system hardening, trust relationships, firewalls, login account defaults (including /etc/skel, password complexity (pam_pwquality) and policy, remote access (SSH), other post-install (security related) tasks.  Security related web resources and organizations.  Filesystem security (permissions, SUID/SGID, ACLs, attributes).
Readings:  Chapters 3 (access control), 27 (general security),  File Permissions,  (not required: other security resources)
(Module 0 assignments due May 27!)
  Mon 5/28   Memorial Day  —  HCC Closed
5/28  

  6/2
SELinux overview.  File locking (and managing lock files).  Isolation techniques: chroot, jails, containers, and virtual machines.  Understanding and using sudo and PAM.  Basic cryptography concepts (checksums, CRCs, message digests and hashes, MACs, and digital signatures) and tools (md5sum, gpg).  Other security mechanisms in Linux.
Readings:  Chapters 3, 27, 25 (virtualization), pp. 915-925 (containers and Docker), pp. 590-593 (PAM),  PAM tutorial, SELinux Explained with Examples in Easy Language, Sample /etc/sudoers file  (not required: other security resources)
Project #1 due 5/28
6/4 Review the cron, anacron, at facilities, and Systemd timer unit files.  Securing cron and at services.
Locating, installing, and managing documentation (including man pages).  Creating man pages using nroff.
Readings:  Chapter 4.9 (cron and Systemd timer units), 1.7-1.9, 31.3 (local documentation),  Red Hat guide for cron, anacron, and at, crontab tutorial, at tutorial, man page writing tutorial,  (not required: other man page resources)
Project #2 due 6/4
  6/9    6/11  

  6/16  
Using development tools: source code management (SCM)/version control system (VCS) tools RCS and Git.  Understanding software building concepts: compiling, interpreting, link-editing, loading; source, header, and object files, static and dynamic libraries, and static and dynamic executable (binary) files.  C compiler (c99, c11, gcc, and llvm's clang).  Java and .NET runtimes.  make, creating and using patch files. 
Readings:  Chapters 7.8 (Git, pp. 235-240), RCS for sys admins,  (not required: other SCM and development tool resources)
Project #3 due 6/11
  6/16   Exam 1  —  From backups through PAM
(Must be taken via Canvas, outside of class meeting, and completed by 11:59 PM)
Project #4 due 6/16
  6/18 Creating and then installing RPM packages.  Building from source RPMs.  Managing shared libraries (DLLs).  DevOps, continuous integration (CI), delivery (CD), and deployment (also CD).
Readings:  Chapters 26 (CI/CD),  (not required: other SCM and development tool resources)
  6/23   6/25 Understanding software licensing and issues of open source (OSS and FLOSS) software.  Benefits of open standards.
Readings:  These on-line articles downloaded from ACM's Queue Magazine, May 2004 issue: There's No Such Thing as a Free (Software) Lunch”, “Is Open Source Right for You?”, and “Open Source to the Core”,  chapter 31.9 (legal issues),  (Not required: other Licensing and copyright resources)
6/30    7/2 Understanding kernel concepts: subsystems, kernel image, loadable kernel modules (LKMs).  Subsystem names, subsystem parameters.  The kernel load process: POST, LOM, BIOS/OpenBoot/UEFI/PXE, RAM disk.  Configuring a kernel loader (grub).  Using kernel modules (modprobe.conf, modprobe, depmod, lsmod, ...).  Review of daemons and various init systems.  Configuring and managing the kernel: using kernel parameters, using /proc).  Installing kernel patches.  Customizing and building a kernel from scratch.  Configuring binfmt. 
Readings:  Chapter 11 (kernel),  (Not required: Kernel resources)
Project #5 due 6/30
  7/4   Independence Day  —  HCC Closed
  7/7   Networking review: TCP/IP (address, netmask, port numbers, TCP, UDP).  On-demand services (systemd socket units, inetd, and xinetd).  Basic DHCP and static IP setup.  Basic network security.
Readings:  Chapters 13.1-13.4 (networking basics), 13.9-13.10 (configuring networking),  Networking Basics and Network configuration from Networking resources (other resources not required)
  7/14   Exam 2  —  From Crypto through kernel configuration
(Must be taken via Canvas, outside of class meeting, and completed by 11:59 PM)
Project #6 due 7/9
7/9  

7/14     7/16
System and service monitoring concepts and tools: metrics, dashboards, baselining, audit data, storing metrics and logs, SNMP, system and process accounting (sar), tracing, monitoring instrumented code (such as Java), top, ps, /proc, /sys.  Common monitoring, alerting, trending, and reporting tools (such as Nagios).  Basic performance analysis and system tuning (CPU, memory, disk I/O, and network bandwidth).  Logging: using and configuring rsyslog, log file rotation, log security.
Readings:  Chapters 28 (monitoring), 29 (performance4 analysis), 10 (logging), (not required: monitoring and logging resources)
  7/21   Setup, configure, and troubleshoot common problems for DNS resolver (nsswitch.conf, hosts, resolv.conf).  Using DNS tools: host, dig, and whois.  Registering a domain name.  Setup a caching-only DNS server.
Readings:  Chapter 16,  (not required: DNS links and sample config files resources)
Project #7 due 7/21
7/23  
  7/28
Email concepts, terminology, and Infrastructure. 
Readings:  Chapters 18 (email),  (not required: email on-line resources)
  7/30

  8/4     8/6  
Web services: concepts and terminology.  Basic Apache web server setup.  Intro to Nginx.  Scalable web service architecture.
Time Permitting:  Cloud computing.  Setup and configure time, including time zones and NTP.  Configuring locales (“I18N”).
Readings:  Chapters 19 (web), 9 (cloud computing),  (not required: Web services on-line resources, NTP on-line resources)
Project #8 due 8/6
  8/10   Exam 3
(Must be taken via Canvas, outside of class meeting, and completed by 11:59 PM)

 


 

Class resources
Resources
Solaris Administrator certification FAQ See also Solaris Unix and Linux certification general information     LPI certification Linux Professional Institute (highly regarded vendor neutral Linux certifications, in three levels); see the LPIC-1 exam objectives
Linux Foundation Certification Also highly regarded vendor neutral Linux certifications:  LFCS and LFCE certification information        
Red Hat certification RHCE (“Red Hat Certified Engineer”); see also RHCE exam objectives     Novell certifications (including Linux) Novell offers several certifications for its Novell SuSE Enterprise Linux; see Novell Certified Linux Administrator (CLA) exam objectives
System Administrator Code of Ethics The LOPSA.org code     Online Ethics Center Information and case studies
ACM code of ethics See also the IEEE code of ethics     SCU Markkula Center Santa Clara University Markkula Center for Applied Ethics
Using the ACM Code of Ethics Some case studies        
System Administrator Tasks Some of the common tasks required of system administrators     Post Install Task List Lists and briefly describes many post install tasks
LVM Guide A tutorial for Logical Volume Management (see also Sun's Volume Management Guide)     Networking Basics Reviews the concepts of networking addresses, port numbers, and services
Filesystem Hierarchy Standard A description of the standard Directories on Linux (and Unix) systems (see also man filesystem)     YborStudent System Journal A snap-shot of the official YborStudent System Journal
Soft Skills Describes non-technical aspects of system administration, including soft skills, certifications, professional societies, job interview tips, and other job seeking resources     Systemd Tutorial A good overview and reference to unit files from DigitalOcean.com
Unix file permissions More than you wanted to know about Unix permissions     suidDemo.tgz Shows how suid can be used to control access to files
cert.org CERT studies threats such as viruses and provides help, information, and training     us-cert.gov Provides thread advisories and other information for U.S. organizations, government, and citizens.  Can use this site to report incidents or subscribe to various bulletins (cpni.gov.uk is the UK's version of us-cert.gov)
sans.org Highly regarded source of security training, also provides useful security information     iapsc.org International Association of Professional Security Consultants
IPSA International Professional Security Association     LinuxSecurity.com Information, advisories, how-to articles for Linux
isc2.org the International Information Systems Security Certification Consortium, provides CISSP certification  (see also GIAC.org)     EC-Council Ethical hacking training, certification, and other resources
RBAC Solaris Role Based Access Control Demo     /etc/sudoers A sample /etc/sudoers file
Solaris Zones Overview of Solaris 10 Zones and Containers     Docker Tutorial A simple container tutorial  (See also podman getting started guide; podman is an alternative for Docker)
PAM Tutorial Shows how to configure and use PAM  (See also Solaris 11 PAM Guide and Linux PAM System Administrator's Guide)     AppArmor Home AppArmor, used with Ubuntu & Novell/SuSE
Red Hat Guide to SELinux Through introduction to SELinux)     SELinux Explained with Examples in Easy Language Short and readable, an excellent intro to SELinux from ComputerNetworkingNotes.com
SELinux Home NSA's homepage for the Security Enhanced (SE)Linux project  (See also the SELinux wiki)     Fedora SELinux User Guide See also SELinux FAQs (Fedora) and SELinux FAQs (NSA)
Public-key encryption Tutorial on security and public-key encryption (from Netscape.com's DevEdge site)     Public key encryption tutorial Public key encryption tutorial and other security tutorial links from Webopedia.com
Public key encryption overview Public key encryption tutorial from Wikipedia.org     Security Tools Demo Shows how to use MD5 checksums and/or GPG to verify a downloaded chkrootkit tar-ball
Using GPG Notes on generating keys and using gpg        
Network security tutorial Tutorial on Internet security from iec.org, now available from The Internet Archive, and based in part on RFC 2196     Home networking security tutorial Tutorial on securing your home computer from cert.org
Regular Expression Introduction Shows Regular Expression ("regex") syntax     RegExLab.jar A Java application to practice regular expressions (just download and double-click)
RegExDemo A practical example of Perl regular expressions     Overview of find A mini-tutorial for the find command
crontab reference Shows crontab file syntax     at command syntax Some at samples of entering times and dates, and other info
000-delay.cron Shows Fedora cron delay technique        
man page reference (PDF) A reference to writing man pages using nroff, found at www.fnal.gov     Command Descriptions The POSIX/SUS guide to documenting utilities (that is, a description of standard man page contents)
The POSIX/SUS 2008 standard The most interesting part is“Shell & Utilities”     SUS search plugin Save this XML file in Firefox's searchplugins folder, then restart Firefox
RFC number search plugin Save this XML file in the Firefox “searchplugins” directory     RFC keyword search plugin Save this XML file in the Firefox “searchplugins” directory
How to write a UNIX man page A tutorial on nroff and man page creation     Oracle TechNetwork Oracle documentation, including Solaris 11 (and Solaris 10) man pages and guides.  (Oracle has retired the Sun Blueprints and BigAdmin documentation series, but much of that material is available from Oracle's BigAdmin site now, or from this snap-shot of BigAdmin from 12/16/2008)
nusers.1 Sample man page for nusers, using nroff/man macros  (See also this Sample LaTex document)    
LinuxCommand.org Command line tutorials, help, and related resources     tldp.org The Linux Documentation Project: how-tos, guides, and more
Rosetta Stone for Unix Shows many different tasks and the equivalents for different flavors of Unix     YoLinux.com Linux Information Portal
ITIL The Information Technology Infrastructure Library is a collection of best practices for IT  (Also see COBIT)     FAQs.org Internet archive of netnews/Usenet newsgroup FAQs
FAQFarm.com A collection of FAQs from many sources     AllMyFAQs.com Another useful collection of FAQs
groups.google.com Web portal to NetNews (Usenet) newsgroups related to Unix and Linux     IRC group for Linux Information for live Linux (and other) help and discussions, at FreeNode.net
RCS Demo A sample session using RCS with a shell script  (See also RCS for sys admins tutorial)     RCS home Home page of the Gnu Revision Control System SCM tool
Git home The Git version control system  (See also the excellent online “Pro Git” book)     Github.com Easy to use public (or private) Git repository
Sample Git repo visualization and log A demo showing a small repo that had two branches (which were merged)     GitRef.org A tutorial-style reference  (See also Git manual page with many links)
Git From the Ground Up (PDF) A short, readable introduction to Git concepts  (See also the Git tutorial man page)     Everyday Git with 20 Commands or so Brief explanations and examples of the most used Git commands
Git for ages 4 and up Excellent YouTube video that makes Git make sense  (See also the Git Overview YouTube videos (four of them) teaching VCS)     GitHub Overview More YouTube videos for Github and Git basics  (See also this highly recommended YouTube video series for Git and Github)
GitGuys.com (from the Internet Archive) One of many good Git tutorials, focused by specific topics     Mercurial Tutorial An excellent tutorial on Mercurial, and for DVCSs in general
CVS home Information about the once-dominant CVS     subversion home Subversion version control system
Patch Demo A sample session using diff and Gnu patch     Creating Solaris Packages A tutorial for creating SVR4 (standard Unix “.pkg”) packages
Gnu Sample Project A simple "Hello world" project using standard Gnu tools: autoconf and automake     Computer Programming Overview (PDF) A short introduction to computer programming for non-programmers  (See also the TIOBE index of programming language popularity)
Sample makefile A short makefile     MakefileTutorial.com A good tutorial on using make and makefiles  (See also the official Gnu make documentation)
Library (DLL) How-To How to create and use static and dynamic libraries on Linux     DLL Demo Demo of using DLLs
Creating [RPM] Packages How-To A readable guide on creating RPMs (See also this shorter walk-through)     Packaging software with RPM Part one (of a good four part series) from IBM DeveloperWorks
RPM Guide How to create and use RPMs     Spec file Sample spec file, with annotations
What is DevOps? A nice overview from Amazon     Continuous integration/delivery/deployment A brief explanation, with links to further tutorials
Open Source Licenses A comparison, listing, and description of most FOSS licenses from Open Source Initiative  See also ChooseALicense.com and tldrlegal.com, for “at-a-glance” license info     GNU/FSF Open Source License Comparison A comparison of many licenses to the GNU GPL, including the CDDL used by OpenSolaris
Articles on open source licenses from ACM Queue Magazine From the May 2004 Issue:  There's No Such Thing as a Free (Software) Lunch, Is Open Source Right for You?, and Open Source to the Core     FLOSS Chart 1 Compares licenses from free as in beer viewpoint.
www.openhub.net FLOSS project evaluation; shows codebase statistics, number of contributors, reviews, and other information you can use to compare and evaluate projects (formerly, www.ohloh.net)     FLOSS Chart 2 Compares licenses from free as in freedom viewpoint.
    Oasis Open Standards Certifies some standards as open  (Other sources of open standards include RFCs, ANSI, and ISO)
A Concise Introduction to Free and Open Source Software An overview and history     fairuse.stanford.edu A good resource for copyright and licensing issues
User Guide to EULAs A consumer guide from the EFF  (See also this EULA cautionary video done for EFF by Nina Paley)     Copyright Crash Course An overview of copyright and licensing
on-line Linux kernel book Linux Kernel Overview     kernel.org Linux kernel source code repository and other kernel resources (See also gitweb Linux kernel source code browser)
Linux 2.6 kernel compile HOWTO Terse but complete how-to compile a 2.6 Linux kernel.  (See also Kernel-Seeds.org, and How to Build Linux Kernels for other (more current) guides)     KernelNewbies.org Linux Kernel FAQs and other resources  (See also LWN.net)
  sysctl.conf Sample Linux /etc/sysctl.conf file
Kernel Parameters How to set some kernel parameters (e.g., for network security)     LKML Archives Linux kernel mailing list and discussion archives
OpenBoot (Sun.com Guide) IEEE standard BIOS replacement, used on Solaris Sparc systems.     Solaris ALOM Guide Reference for Sun's version of LOM
PXE Booting Network booting using PXE     Kernel building typescript How to build Linux 2.6 kernel from kernel.org sources, on Fedora  (See also this abbreviated typescript of a kernel 3.9.2 build)
Networking Basics Basic concepts of networking, TCP/IP, and port numbers     Network Configuration Brief directions for basic dynamic and static networking setup  (See also NetworkManager Documentation and Fedora networking documentation; see especially the chapter on NetworkManager)
Systemd on-demand network services Overview of systemd's socket unit files for on-demand services     Network Topologies (PNG) A graphic showing several common network topologies
System Monitoring Tutorial A brief overview of the basics     System Logging, Log File Rotation A tutorial including syslog examples
logwatch sample output A sample daily logwatch email from wpollock.com     syslog, syslog-ng A tutorial on troubleshooting with syslog and syslog-ng
rsyslog A syslog replacement used on Red Hat and many other systems  (See the rsyslog manual for a user guide and reference to the current version)     System Tuning Basic system performance monitoring and tuning
System Management tools A list of tools available from DebianLinux.net  (See also www.LinuxLinks.com)     FRE and logs (PDF) (Obtained from www.justice.gov/criminal/cybercrime/usamarch2001_4.htm)  Computer Records and the Federal Rules of Evidence - see also the evidence chapter from the 2009 USDOJ manual on Searching and Seizing Computers and Obtaining Electronic Evidence in Criminal Investigations (PDF)
Nagios Install Transcript of installing and running Nagios on Fedora    
Monitoring setup Transcript of installing and running Collectd, Influxdb, and Grafana on Fedora     Grafana Influxdb Setup (PNG) Screenshot showing the Influxdb data source setup in Grafana
docwiki.cisco.com/.../SNMP A through tutorial on SNMP versions 1 and 2     SNMP Overview A good tutorial on all SNMP versions
oid-info.com Useful site with information about SNMP OIDs     journalctl tutorial A very nice tutorial for Systemd's journaling tool
DNS Resources Sample DNS configuration files plus other resources     Email Service Resources Sample DNS, SpamAssassin, ClamAV, Amavis, SASL, Postfix, and IMAP/POP configuration files, plus other resources
Email Infrastructure Email concepts and Infrastructure description     httpd Configuration Sample httpd (Apache) configuration files
httpd.apache.org Apache Web Server Home     httpd Docs Well-organized documentation for Apache Web Server
nginx.org Home for open-source version of Nginx  (See nginx.com for the commercial version, Nginx Plus)     Nginx Docs Nginx Wiki site  (See also Nginx Beginners Guide and the Nginx and Nginx Plus Admin Guide and Tutorial)
Varnish HTTP Cache Varnish web accelerator (a.k.a. HTTP reverse proxy)     Akamai CDN A popular content delivery network
RFC 7230 Reference for HTTP/1.1 protocol  (along with RFCs 7231–7235)     RFC 7540 Reference for HTTP/2 protocol  (See also Wikipedia article for HTTP/2)
Working with Time Useful background information about time, UTC, NTP, UT, etc.  (See also NTP Basics)     Radio Controlled Clocks NIST information on WWVB radio controlled clocks, including manufacturer lists
A Walk Through Time A history of time and time measurement (NIST)     NTP public time servers Public NTP time servers (stratum 1 and 2, pool servers)
www.ntp.org NTP project home     NTP Public time server pools A list of public NTP time server pools.  (See also NTP Pool Servers website)
www.pool.ntp.org Public NTP server pool project     support.ntp.org NTP Servers website
icu-project.org/userguide/locale.html Describes ICU locales, a superset of POSIX locales     Time Zones Timezone information from Wikipedia
Shell Scripting
Shell Scripting Tutorial Discusses some of the standard shell features used in scripts        
LDP: Bash scripting guide and reference) Shows how to write Bash shell scripts.  complete Bash man page     SSC's Bash shell reference card (Posted here by permission of SSC, Inc.)

[Valid RSS]

RSS iconXML iconRSS feed for this page

What is RSS?