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.
|Time & Place:||Ref No. 84139: Tuesday & Thursday, 5:30 – 7:10 PM, Dale Mabry Room DTEC–461|
Name: Wayne Pollock|
Office & Phone: DTEC–404, 253–7213.
DM Office Hours: Tuesday & Thursday, 4:25–5:25; or by appointment.
|Text:||Evi Nemeth et. al., Unix and Linux System Administration Handbook, Fourth Edition. ©2011 Pearson Education, Inc. ISBN: 978-0-13-148005-6.|
|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:
|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! HCC registration computers may not check for prerequisites before allowing you to enroll. 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:|| Assignments can be performed on the Dale Mabry campus Linux computers,
which can be accessed from the classroom or from some computers in the
last row of the DM open computer lab.
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 floppies/flash disk, writing materials, and three Scantron 882–E or 882–ES forms. You can use HawkNet (WebAdvisor) or Florida Virtual Campus to obtain your final grade for the course.
The college provides wireless network connections for students and guests
on Dale Mabry campus.
For students, select the network
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/alerts/.
Computers with PuTTY installed are located in the computer science department open lab in DTEC–462. Additionally, the back-row has computers identical to the ones in our classroom. So if you need to work on your projects and the classroom is in use, you can request a lab tech to put your hard disk in one of the open lab computers. (You can call the open lab to determine if the classroom will be available, or to have them pull your hard disk in advance. The open lab phone number is: 253-7207.)
Lab hours are:
(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
A=90-100, B=80-89, C=70-79, D=65-69, F=0-64
(Collaborating on the class wiki counts as up to 5 points extra credit, as does active class participation. See below for details.)
Projects will be assigned 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. 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.
Projects are graded on the following scale:
A = 95% (Excellent: Good design with good comments, style, and extras)
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.)
Extra credit can be earned by updating the study guide on the
with a substantial contribution based on the material covered
in class, from assigned readings, or from other resources you
A substantial contribution means adding new material,
adding references (links), or elaborating (or correcting) some
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.
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
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
Please staple multiple pages together (at the upper left).
|HCC Academic Calendar:|
|Classes Begin:||Monday 5/16/2016 (First class meeting: Tuesday 5/17/2016)|
|Add-Drop Ends:||Friday 5/20/2016|
|Last Day to Withdraw:||Wednesday 7/6/2016|
|Classes End:||Monday 8/8/2016 (Last regularly scheduled day of class: Thursday 8/4/2016)|
|Grades Available:||Wednesday 8/10/2016 (from Florida Virtual Campus or from HawkNet)|
|HCC is closed on:||
Monday 5/30/2016 (Memorial Day), |
Saturday–Monday 7/2/2016–7/4/2016 (Independence Day)
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 204, voice phone: (813) 253–6035, TTD: (813) 253–7035, 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:||“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|
Backups and archives: restore issues, policies, tools, and techniques.
Readings: System Administrator Code of Ethics, Chapter 11
Brief Unix/Linux system security overview: rings of security, security
auditing and system hardening, trust relationships, firewalls (including
TCP Wrappers), login account defaults (including
Readings: Chapters 10 (pp. 657–688), 2 (pp. 32–53), page 88, 7 (pp. 330–373), 3 (pp. 115–121), File Permissions, (not required: other ethics resources, other security resources)
Project #1 due 5/24
File locking (and managing lock files).
Isolation techniques: |
Readings: Chapters 10 (pp. 657–688), 2 (pp. 32–53), p. 88, 7 (pp. 330–373), 3 (pp. 115–121), PAM, Sample
Project #2 due 5/31
Review the |
Locating, installing, and managing documentation (including
Readings: Chapters 3 (pp. 74–76, 90–100), 14 (pp. 942–944),
Project #3 due 6/7
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, |
Readings: Chapter 3 (pp. 121–126), 14 (pp. 919–921), RCS and other development tool resources
Project #4 due 6/16
Understanding software licensing and
issues of open source (OSS and FLOSS)
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”. (Not required: Licensing and copyright resources)
Understanding kernel concepts: subsystems, kernel image, loadable
kernel modules (LKMs).
Subsystem names, subsystem parameters.
Linux kernel numbering scheme.
The kernel load process:
POST, LOM, BIOS/OpenBoot/UEFI/PXE, RAM disk.
Configuring a kernel loader (grub).
Using kernel modules (|
Readings: Chapter 16, Kernel resources
Project #5 due 6/30
Networking review: TCP/IP (address,
netmask, port numbers, TCP, UDP).
Readings: Chapters 5, 7 (pp. 373–413), 8 (pp. 457–459, 461–467), Networking basics for SAs
System and service monitoring concepts and tools: metrics, dashboards,
baselining, audit data, storing metrics and logs, SNMP, system
and process accounting (|
Readings: Chapter 3 (pp. 101–115), 15, 8 (pp. 475–484), monitoring and logging resources
Project #6 due 7/14
|7/4||Independence Day — HCC closed|
Setup, configure, and troubleshoot common problems for
DNS resolver (|
Readings: Chapter 8 (pp. 414–452), DNS links and sample config files resources
Email concepts, terminology, and Infrastructure.
Web services: concepts and terminology.
Basic Apache web server setup.
Readings: Chapter 8 (pp. 469–475), Web services & email on-line resources
Project #7 due 7/26
Intro to Nginx.
Scalable web service architecture.
Time Permitting: Setup and configure time, including time zones and NTP. Configuring locales (“I18N”).
Readings: Chapter 8 (pp. 469–475), NTP on-line resources
Project #8 due 8/4
|Solaris certification FAQ||Solaris Unix certification general information||Oracle's Solaris Certification exam information||This includes Sun Certified System Administrator (SCSA) exam objectives part 1 and part2|
|LPI certification||Linux Professional Institute (highly regarded vendor neutral Linux certifications, in three levels); see the LPIC-1 exam objectives||Ubuntu certification||Ubuntu certification information from the vendor; see also Ubuntu Certified Professional (UCP) 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
||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|
|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
|Solaris Zones||Overview of Solaris 10 Zones and Containers|
|PAM Tutorial||Shows how to configure and use PAM (See also Solaris 11 PAM Guide and Linux PAM System Administrator's Guide)||LIDS Home||LIDS Secure Linux System (See also AppArmor, used with Ubuntu & Novell/SuSE)|
|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|
|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
|| A mini-tutorial for the
|crontab reference||Shows crontab file syntax||at command syntax|| Some
|000-delay.cron||Shows Fedora cron delay technique|
|man page reference|| A reference to writing man pages using
||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
|RFC number search plugin|| Save this XML file in the
||RFC keyword search plugin|| Save this XML file in the
|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 help, including current Linux man pages||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 branched (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 Overview||YouTube videos (four of them) teaching VCS||GitHub Overview||More YouTube videos for GitHub and Git basics|
|GitGuys.com||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 “
|Gnu Sample Project||A simple "Hello world" project using standard Gnu tools: autoconf and automake||Checkinstall home||Download and install the checkinstall package from here|
|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|
|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)||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)|
|System Monitoring Tutorial||A brief overview of the basics||System Logging, Log File Rotation|| A tutorial including
|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)|
|docwiki.cisco.com/.../SNMP||A good tutorial on SNMP|
|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 NetworkManager Documentation)|
|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.||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 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.)|