| Time & Place: | Ref No. 01946: Tuesday & Thursday, 5:30 – 7:05 PM, Dale Mabry Room DTEC–461 | ||||||
|---|---|---|---|---|---|---|---|
| Instructor: |
Name: Wayne Pollock E-mail: Internet: Office & Phone: DTEC–404, 253–7213. DM Office Hours: Tuesday, Thursday, 4:55–5:25 & 7:05–7:35; On-line Office Hours: Wednesday–Friday, 12:00 PM (noon)–1:00 PM; or by appointment.
| ||||||
| Text: | AEleen Frisch, Essential System Administration, 3rd Edition. ©2002 O'Reilly & Associates. ISBN: 0-596-00343-9. | ||||||
| Description: |
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. | ||||||
| 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
FACTS.org to obtain your final grade for the course.
You can use
CampusCrusier
for email, college calendars, and college related resources.
| ||||||
| Grading: |
Grading scale:
A=90-100, B=80-89, C=70-79, D=65-69, F=0-64 | ||||||
| Policies: |
| ||||||
| Projects: |
Projects will be assigned at various times. You will have sufficient time to complete the projects, at least a week but usually two weeks. Although there will be in-class group exercises you must work individually on the projects, typically outside of regular class hours, except when a project is designated as a group project. You may work together in small groups on group projects provided the names of all who worked together are listed. Each student must still submit their own copy of the assignment. 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.) | ||||||
| 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). |
| Classes Begin: | Monday 5/17/2010 (First class meeting: Tuesday 5/18/2010) |
|---|---|
| Add-Drop Ends: | Friday 5/21/2010 |
| Last Day to Withdraw: | Thursday 7/9/2010 |
| Classes End: | Monday 8/13/2010 (Last regularly scheduled class: Thursday 8/12/2010) |
| Grades Available: | Monday 8/16/2010 (from FACTS.org or HawkNet) |
| HCC is closed on: |
Monday 5/31/2010 (Memorial Day), Monday 7/5/2010 (Independence Day observed), |
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. | — Lakota Indian saying | |
|---|---|---|---|
Learning is not a spectator sport! | — Chickering & Gamson |
| Dates Tue Thu |
Topics |
|---|---|
| 5/18 |
Course introduction.
Review CTS-2301 topics.
Assign User IDs.
Review basic procedures (removable disks),
HCC network login,
using WebAdvisor (Hawknet) for passwords, grades.
Assign installation project.
Discuss system journal.
Discuss class wiki use.
Review post-install tasks.
Professional Ethics.
Readings: Chapters 1, 2 (pp. 61–73), 10 (pp. 616–657), System Administrator Code of Ethics, (not required: Post-install task list, other ethics resources) |
| 5/20 |
Unix/Linux system security overview: rings of security, security
auditing and system hardening, trust relationships, firewalls and
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: Chapters 10 (pp. 657–688), 2 (pp. 32–53), page 88, 7 (pp. 330–373), 3 (pp. 115–121), File Permissions, (not required: other security resouces) |
| 5/25 5/27 |
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 #1 due 5/25 |
| 6/1 |
Regular expressions overview.
Review shell scripting for administrators:
shells and interperters (perl, awk, ...),
permission for scripts, exeuction of scripts,
she-bang line, comments, variables (and export),
sourcing scripts, quoting, I/O redirection, positional parameters,
simple arithmetic (let, expr,
bc, perl), if
and test (and short-cuts: [ ...
], &&, and ||),
here documents, signals and trap,
shell functions, mktemp, read,
for and while loops, case.
Using tools in scripts including: find, grep,
awk, xargs, tail.
Readings: Chapters 3 (pp. 76–89), 14 (pp. 885–901), Appendix A, Regular Expression Primer and shell scripting tutorial Project #2 due 6/1 |
|
6/3
6/8
|
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
|
| 6/10 | Review, Exam 1 |
| 6/15 6/17 |
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) |
| 6/22 6/24 |
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 Project #3 due 6/22 |
| 6/29 7/1 |
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 #4 due 6/29 |
| 7/6 |
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/8 | Review, Exam 2 |
| 7/13 7/15 |
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 #5 due 7/13 |
|
7/20 7/22
7/27 7/29 |
Email services: mail service,
POP/IMAP.
Controlling spam and viruses.
User authentication and security.
Managing mailing lists.
Readings: Chapter 9, email on-line resources |
| 8/3 |
Basic Apache web server setup.
Configuring web mail.
Readings: Chapter 8 (pp. 469–475), Apache on-line resources Project #6 due 8/3 |
|
8/5
8/10
|
Setup and configure time, including time zones and
NTP.
Configuring locales (I18N). Readings: Chapter 8 (pp. 469–475), NTP on-line resources Project #7 due 8/6 |
| 8/12 |
Review, Exam 3
Project #8 due 8/13 (Friday) |
| Resources | |||||
|---|---|---|---|---|---|
| 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 | ||
| 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 10 PAM Guide and Linux PAM System Administrator's Guide.) | LIDS Home | LIDS Secure Linux System (See also AppArmor (Ubuntu & Novell SuSE) | ||
| SELinux Home | NSA's homepage for the Secureity Enhanded Linux project | SELinux User Guide, Fedora 13 | 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 Primer | 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 |
||
| docs.sun.com | Solaris man pages, administrator guides, and more (See also Sun Blueprints for additional guides) | nusers.1 | Sample man page for nusers, using nroff/man macros | ||
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) | ||
| 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 | ||
| 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. | 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 | Computer Records and the Federal Rules of Evidence | ||
| www.cisco.com/.../SNMP.htm | 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.) | ||