|
View Weekly Course Schedule View Course Resources. View Project 1 (backups) requirements. View Project 2 (install) 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 (email service) requirements. View Project 9 (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. 41780: Tuesday & Thursday, 5:30 – 7:10 PM, Dale Mabry Room DTEC–461 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Instructor: |
Name: Wayne Pollock E-mail: Internet: Office & Phone: DTEC–404, 253–7213. DM Office Hours: Tuesday & Thursday, 3:55–5:25; or by appointment.
| ||||||||
| Text: | AEleen Frisch, Essential System Administration, 3rd Edition. ©2002 O'Reilly & Associates. ISBN: 0-596-00343-9. | ||||||||
| Description: |
(This course is 3 credit hours long.)
This course is a continuation of
CTS 2301 (Unix / Linux Administration I).
The focus is on Unix and Linux system administration.
Topics include creating shell scripts and using scripting tools,
software development tools (such as make and the
SCM tools
RCS/CVS),
managing documentation and creating man pages with
nroff, using open source, configuring services including email,
logging, and DNS.
Also covered will be building and configuring custom kernels,
kernel modules, patching and updating the kernel and applications,
system monitoring and tuning, and basic system security.
Students will gain hands-on experience installing, configuring, and using Linux.
| ||||||||
| Objectives: | "After completing this course, the student will be able to:
| ||||||||
| Prerequisite: | CTS–2301 (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. | ||||||||
| 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.
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).
However projects must be completed using your assigned disk at
HCC, using the assigned operating system.
A class
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 Virutal Campus (Formerly FACTS.org) to obtain your final grade for the course.
| ||||||||
| Grading: |
Grading scale:
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.) | ||||||||
| Policies: |
| ||||||||
| Projects: |
Projects will be assigned at various times. You will have sufficient time to complete the projects, usually at least a week. You must work on the projects typically outside of regular class hours. You may work together in small groups 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 if that system is unstable you are encouraged to install it again. directions for doing so are shown at the top of this class web page, but grayed-out.
If you did not submit the final project 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.) | ||||||||
| 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, completness, 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 Submissionso 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 textand not the HTMLmode 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. Projects submitted after the deadline will not count toward your grade without the prior express approval of your instructor.
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). |
| HCC Academic Calendar: | |
|---|---|
| Classes Begin: | Monday 5/13/2013 (First class meeting: Tuesday 5/14/2013) |
| Add-Drop Ends: | Friday 5/17/2013 |
| Last Day to Withdraw: | Friday 7/5/2013 |
| Classes End: | Friday 8/9/2013 (Last regularly scheduled day of class: Thursday 8/8/2013) |
| Grades Available: | Tuesday 8/13/2013 (from Florida Virutal Campus (Formerly FACTS.org) or HawkNet) |
| HCC is closed on: |
Monday 5/27/2012 (Memorial Day), Thursday 7/4/2012 (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) 259–6035, TTD: (813) 253–7035, FAX: (813) 253–7336. Brandon campus: voice phone: (813) 253–7914.
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 |
| Dates Tue Thu |
Topics |
|---|---|
| 5/14 |
Review syllabus.
Backups and archives: restore issues, policies, tools, and techniques.
Readings: Chapter 11 |
| 5/16 |
Professional Ethics.
Unix/Linux system security overview: rings of security, security
auditing and system hardening, trust relationships, firewalls (including
TCP Wrappers), login account defaults and security
(pam_cracklib), remote access (ssh configuration), other post-install
(security related) tasks, and security web resources.
Filesystem security (permissions, SUID/SGID,
ACLs, attributes).
Readings: System Administrator Code of Ethics, 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 resouces) Project #1 due 5/16 |
| 5/21 5/23 |
File locking (advisory vs. mandatory, shared vs.
exclusive), chroot (jails, zones).
Understanding security policies and using RBAC, PAM,
and sudo.
Overview of SELinux, AppArmor, and
LIDS
(MAC systems).
Basic cryptography and tools (md5sum,
gpg).
Readings: Chapters 10 (pp. 657–688), 2 (pp. 32–53), p. 88, 7 (pp. 330–373), 3 (pp. 115–121), PAM, Sample /etc/sudoers
file
(not required: other security resouces)
Project #2 due 5/23 |
| 5/28 5/30 |
Review the cron and at facilities.
Securing cron and at services.
Locating, installing, and managing documentation (including man pages).
Creating man pages using nroff.
Readings: Chapters 3 (pp. 74–76, 90–100), 14 (pp. 942–944), crontab tutorial,
at tutorial, and
sample nusers
man page
Project #3 due 5/30 |
| 6/4 | Exam 1 |
|
6/6
6/11
|
Using development tools: source code management
(SCM)/version control system (VCS
tool RCS (and others such as CVS,
Subversion, Mercurial, or Bazaar),
C compiler (gcc), make,
creating and using patch files.
Creating and then installing RPM packages.
Building from source RPMs.
Managing shared libraries
(DLLs).
Understanding software licensing and
issues of open source software.
Readings: Chapter 3 (pp. 121–126), 14 (pp. 919–921), 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: RCS and other development tool resources, Licensing and copyright resources) Project #4 due 6/11 |
|
6/13
6/18
|
Understanding kernel concepts.
The kernel load process:
POST, LOM, BIOS/OpenBoot/PXE, RAM disk.
Configuring a kernel loader (grub).
Using kernel modules (modprobe.conf, modprobe,
depmod, lsmod, ...).
Review of daemons and the init system.
Configuring and managing the kernel:
using kernel parameters, using /proc).
Installing kernel patches.
Customizing and building a kernel from scratch.
Readings: Chapter 16, Kernel resources |
|
6/20
6/25
|
System and service monitoring: top, ps,
/proc, /sys.
Logging: using and configuring syslog,
log file rotation.
Basic system tuning.
Process control (create, monitor, and kill) and signals.
Threads and processes.
Process and thread (memory) management.
Readings: Chapter 3 (pp. 101–115), 15, 8 (pp. 475–484), monitoring and logging resources Project #5 due 6/25 |
| 6/27 |
Networking review: TCP/IP (address,
netmask, port numbers, TCP, UDP).
inetd and xinetd.
Basic DHCP and static IP setup.
Readings: Chapters 5, 7 (pp. 373–413), 8 (pp. 457–459, 461–467), Networking basics for SAs |
| 7/2 | Exam 2 |
| 7/4 | Independence Day — HCC closed |
| 7/9 7/11 |
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 8 (pp. 414–452), DNS links and sample config files resources Project #6 due 7/9 |
|
7/16 7/18
7/23 7/25 |
Email services: mail service,
POP/IMAP.
Controlling spam and viruses.
User authentication and security.
Managing mailing lists.
Readings: Chapter 9, email on-line resources Project #7 due 7/23 |
| 7/30 |
Basic Apache web server setup.
Configuring web mail.
Readings: Chapter 8 (pp. 469–475), Apache on-line resources |
|
8/1
8/6
|
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/1 |
| 8/8 |
Exam 3
Project #9 due 8/8 |
| Resources | |||||
|---|---|---|---|---|---|
| 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 (higly 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 | ||
| 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 netwoking addresses, port numbers, and services | ||
| Filesystem Heirarchy 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 | ||||
| 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 | ||||
| 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 SE Linux 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 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 |
A reference to writing man pages using nroff, found at
www.fnal.gov |
Command Descriptions | The POSIX/SUS guide to documenting utilites (that is, a description of standard man page contents) | ||
| The POSIX/SUS 2008 standard | The most interesting part isShell & 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 | ||||
| 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 | Information Technology Infrastructure Library is 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 | Linux Online — IRC | A list of IRC channels for live Linux help and discussions | ||
| RCS Demo | A sample session using RCS with a shell script | RCS home | Home page of the Gnu Revision Control System SCM tool | ||
| Patch Demo | A sample session using diff and Gnu patch | Creating Solaris Packages | A tutorial for creating SVR4
(standard Unix ) packages |
||
| 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 licenses from Open Source Initiative | 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.ohloh.net | FLOSS project evaluation; shows codebase statistics, number of contributors, reviews, and other information you can use to compare and evaluate projects | FLOSS Chart 2 | Compares licenses from free as in freedom viewpoint. | ||
| 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. Based on a HOWTO from www.digitalhermit.com which covers 2.4 and 2.6 kernels (See Kernel-Seeds.org too) | KernelNewbies.org | Linux Kernel FAQs and other resources | ||
| sysctl.conf | Sample Linux /etc/sysctl.conf file | ||||
| Kernel Parameters | How to set some kernel parameters (e.g., for network security) | KernelTrap.org | 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 | ||
| System Monitoring Tutorial | A brief overview of the basics | System Logging, Log File Rotation | A tutorial including syslog examples |
||
| System Management | A list of tools available (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 | syslog, syslog-ng | A tutorial on troubleshooting with syslog and syslog-ng | ||
| rsyslog | A syslog replacement used on Red Hat systems | System Tuning | Basic system performance monitoring and tuning | ||
| logwatch sample output | A sample daily logwatch email from wpollock.com | ||||
| Networking Basics | Basic concepts of networking, TCP/IP, and port numbers | Network Configuration | Brief directions for basic dynamic and static networking setup | ||
| 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 Notes | An Email Tutorial and Study Guide | httpd configuration | Sample httpd (Apache) configuration files | ||
| 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 Poll Servers website) | ||
| www.pool.ntp.org | Public NTP server pool project | ntp.isc.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.) | ||