Outline for an Unpublished Linux Textbook

Back in 2004 or so, I was asked to write an outline for a college textbook that would be used in courses on Linux. I happily complied, producing the outline you see below. The editor on the project loved the outline & showed it several professors to get their reactions, which were uniformly positive, with one prof reporting back that (& I'm paraphrasing here) "It was like this author read my mind, as this is exactly the book I'd like to use in my course!" Sadly, the book was never written, because the editor's boss didn't like the fact that I didn't have a PhD in Computer Science. I thought that to be a silly reason then, & I think it's a silly reason to reject the book now.

However, their loss is your gain. Here's the outline for the book. Yes, it's sadly outdated. Yes, it focuses quite a bit on SUSE, but that was what the publisher wanted. Yes, Linux has come a LONG way since I wrote this outline. But I still think it's a damn good outline, and you may find it interesting for historical reasons. So, enjoy!

On this page…

    The Linux Framework

    Background & History

    1. UNIX
    2. Richard Stallman, Free Software, & the GPL
      1. Brief Bio: Richard Stallman
    3. Linus Torvalds Invents Linux
    4. Phenomenal Growth
      1. Sidebar: Open Source or Free Software?
    5. Linux Everywhere
    6. Teaching tools
      1. Chapter Intro
      2. Skills Check
        1. Objectives
        2. Summary
      3. Further Resources
        1. UNIX
          1. An Overview of the UNIX Operating System (http://www.bell-labs.com/history/unix/)
        2. Richard Stallman & the FSF
          1. Richard Stallman's Personal Home Page (http://www.stallman.org/)
          2. Free as in Freedom: Richard Stallman's Crusade for Free Software (http://www.oreilly.com/openbook/freedom/)
          3. Free Software, Free Society (http://notabug.com/2002/rms-essays.pdf)
          4. Philosophy of the GNU Project (http://www.gnu.org/philosophy/)
        3. The GPL (General Public License)
        4. Linus Torvalds
        5. Distributions
          1. DistroWatch (http://www.distrowatch.com)
          2. LinuxISO (http://www.linuxiso.org)
      4. Key Terms
        1. Unix
        2. Free software
        3. Open source
        4. Kernel
        5. Distribution
      5. Exercises
      6. Thought Questions

    Jumping In Head First

    1. Boot with SUSE’s Live-Eval CD
      1. What’s a Live CD?
        1. Sidebar: Other Live CDs
      2. Configure Your BIOS to Boot from CD-ROM
    2. Logging In
    3. A Quick Tour of SUSE Linux
      1. The Desktop
      2. Applications
      3. The Command Line
        1. The Basics: cd & ls
      4. Becoming root
        1. su -
    4. Logging Out
      1. Using the Command Line
      2. Using the GUI
    5. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. Live CDs
          1. List of Linux Live CDs (http://www.frozentech.com/content/livecd.php?showonly=&;sort=ImageSize)
          2. CD-based Linux Distributions and Live Linux CDs (http://www.distrowatch.com/dwres.php?resource=cd)
          3. Spin up a Linux LiveCD (http://www-106.ibm.com/developerworks/linux/library/l-livecd.html?ca=dgr-lnxw16SpinLive)
        2. Root
          1. Root 101: If you don't "get it," you probably haven't got it (http://www.iodynamics.com/education/root101.html)
      4. Key Terms
        1. Live CD
        2. root
      5. Exercises
      6. Thought Questions

    Installation

    1. Ways to Install Linux
      1. Downloading ISO Images
        1. Vendor sites
        2. Other Web Sites
        3. BitTorrent
      2. CD-ROM & DVD
      3. Network Install
        1. FTP
        2. HTTP
        3. NFS
        4. VNC
    2. Preparing Your Computer’s BIOS
    3. Base Installation
      1. Language
      2. Installation Settings
        1. Mode
        2. Keyboard Layout
        3. Mouse
        4. Partitioning
        5. Software
        6. Booting
      3. Perform Installation
    4. Configuration
      1. Root Password
      2. Network
        1. Network Interfaces
        2. DSL Connections
        3. ISDN Adapters
        4. Modems
        5. Proxy
        6. VNC Remote Administration
      3. Online Update
      4. Users
      5. Clean Up
      6. Release Notes
      7. Device Configuration
        1. Graphics Cards
        2. Printers
        3. Sound
        4. TV Cards
    5. Post-Installation
      1. Log In
      2. Update Your System
    6. Dual-Booting Linux and Windows
    7. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. ISO Images
        2. BitTorrent
          1. The Official BitTorrent Home Page (http://bitconjurer.org/BitTorrent/)
        3. Installing Linux
        4. Hardware Compatibility
          1. Linuxhardware.net (http://www.linuxhardware.net/)
          2. Linux Hardware Compatibility HOWTO (http://www.linux.com/howtos/Hardware-HOWTO/index.shtml)
          3. Linux on Laptops (http://www.linux-laptop.net/)
        5. Hardware Compatibility By Distribution
          1. SUSE LINUX Hardware Database (http://hardwaredb.suse.de/?LANG=en_UK)
          2. Red Hat Hardware Compatibility List (http://hardware.redhat.com/hcl/)
          3. Mandrakelinux Hardware Database (http://www.mandrakelinux.com/en/hardware.php3)
        6. Hardware Compatibility by Vendor
          1. nVidia Linux Drivers Portal Page (http://www.nvidia.com/object/linux.html)
          2. ATI LINUX and XFree86 Information (http://www.ati.com/support/faq/linux.html)
        7. Hardware Compatibility by Device
          1. Video for Linux resources (http://www.exploits.org/v4l/)
          2. LinuxPrinting.org (http://www.linuxprinting.org/)
          3. Parallel Port Scanners under Linux (http://www.buzzard.org.uk/jonathan/scanners.html)
          4. USB Scanners under Linux (http://www.buzzard.org.uk/jonathan/scanners-usb.html)
          5. SANE – Supported Devices (http://www.sane-project.org/sane-supported-devices.html)
          6. gPhoto - Projects :: libgphoto2 :: supported cameras (http://www.gphoto.org/proj/libgphoto2/support.php)
        8. Dual-Booting
          1. Dual-Booting Linux (http://www-106.ibm.com/developerworks/linux/library/l-dboot.html)
      4. Key Terms
      5. Exercises
      6. Thought Questions

    The Linux Onion

    1. The Boot Process
      1. The MBR
      2. Boot Loaders
        1. LILO
        2. GRUB
      3. The Mother of All Processes
        1. Sidebar: Viewing the Boot Process with dmesg
    2. The Kernel
      1. What’s the Kernel Do?
      2. Kernel Modules
      3. Brief Bio: Linus Torvalds
    3. The Shell
      1. Running Programs in the Shell
      2. Finding Programs with which & whereis
    4. The X Window System
      1. The Purpose of X
        1. Sidebar: The History of X
      2. XF86Config
      3. Running Programs in X
      4. Sidebar: The XFree86 Controversy
    5. Window Managers
    6. Desktop Environments
      1. KDE
        1. Running Programs in KDE
        2. Brief Bio: Matthias Ettrich
      2. GNOME
        1. Running Programs in GNOME
        2. Brief Bio: Miguel de Icaza
    7. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. The Kernel
          1. How the Linux kernel gets built (http://www.infoworld.com/article/04/01/30/05FElinuxdev_1.html?s=feature)
        2. The X Window System
          1. X.Org (http://www.x.org/)
          2. The XFree86 Project, Inc. (http://www.xfree86.org)
        1. KDE
          1. KDE (http://www.kde.org)
        2. GNOME
          1. GNOME (http://www.gnome.org)
      4. Key Terms
        1. KDE
        2. GNOME
      5. Exercises
      6. Thought Questions

    The Linux Environment

    1. Files and Directories
      1. File Basics
        1. Everything is a File
        2. Inodes
        3. Making, Changing, & Deleting Files
      2. Directory Basics
        1. Making, Changing, & Deleting Directories
      3. Wildcards
      4. Links
        1. Hard Links
        2. Soft (Symbolic) Links
      5. Finding Files &Directories
        1. find
        2. locate
    2. Permissions
      1. Viewing and Understanding Permissions
        1. ls -l
        2. Users and groups
        3. Permissions
      2. Changing Ownership
      3. Changing Permissions
      4. Timestamps
    3. The File System Structure
      1. Hierarchical Tree Structure
        1. /home & /root
        2. /tmp
        3. /boot
        4. /bin & /sbin
        5. /usr, /lib, & /opt
        6. /etc
        7. /var
        8. /mnt & /media
        9. Other Directories
        10. Sidebar: The Linux Filesystem Hierarchy Standard
      2. Virtual File Systems
        1. /dev
          1. Sidebar: /dev/null
        2. /proc
    4. Paths
      1. Absolute Paths
      2. Relative Paths
    5. Partitions
      1. Block Devices
      2. Primary, Extended, & Logical Partitions
      3. Working With Partitions
      4. Sidebar: How Should a Linux System be Partitioned?
    6. Filesystems
      1. Disk Filesystems
        1. ext2
        2. VFAT
      2. Journaling Disk Filesystems
        1. What is Journaling?
        2. ReiserFS
        3. ext3
        4. Other Journaling Filesystems
      3. Network Filesystems
        1. SMB/CIFS
        2. NFS
        3. Other Network Filesystems
    7. Mounting Filesystems
      1. Mount Points
      2. Mounting on the Fly
      3. /etc/fstab
      4. Unmounting Filesystems
    8. Partitions & Filesystems: Putting It All Together
      1. Plug in a New Hard Drive
      2. Create Partitions with fdisk
      3. Create Filesystems with mkfs
      4. Create a Mount Point
      5. Mount the New Hard Drive
      6. Mount the New Hard Drive Automatically with fstab
    9. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. find
          1. A Very Valuable Find (http://www.linux-mag.com/2002-09/power_01.html)
          2. Finding Things in Unix (http://www.onlamp.com/pub/a/bsd/2002/02/21/FreeBSD_Basics.html)
        2. Linux Filesystem Hierarchy Standard
          1. Filesystem Hierarchy Standard (http://www.pathname.com/fhs/)
        3. /proc
          1. Use the /proc filesystem to get a handle on your system (http://www-106.ibm.com/developerworks/linux/library/l-adfly.html?ca=dgr-lnxw02LinuxOnTheFly)
        4. Journaling File Systems
          1. Journaling File Systems (http://www.linux-mag.com/cgi-bin/printer.pl?issue=2002-10&;article=jfs)
        5. Partitioning
          1. Linux Partition HOWTO (http://www.tldp.org/HOWTO/mini/Partition)
      4. Key Terms
      5. Exercises
      6. Thought Questions

    Working in Linux

    The Power of the Command Line

    1. The bash Shell
    2. Working with Files & Directories
      1. Archiving
    3. Processes
      1. Viewing
      2. Controlling
      3. Signals
    4. Redirection
    5. Working with Text Files
      1. echo
      2. cat, tac, more, & less
      3. head & tail
      4. wc
      5. sort & uniq
      6. tr
      7. awk & sed
    6. Text Editors
      1. vi
      2. emacs
      3. pico & nano
    7. Regular Expressions & grep
      1. Simple Substrings
      2. Metacharacters
      3. Escaping Metacharacters
    8. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. bash
          1. Bash by example: Fundamental programming in the Bourne again shell (bash), Part 1-3 (http://www-106.ibm.com/developerworks/linux/library/l-bash.html, http://www-106.ibm.com/developerworks/library/l-bash2.html, http://www-106.ibm.com/developerworks/library/l-bash3.html)
        2. Collections of Commands
          1. Alphabetical Directory of Linux Commands (http://www.onlamp.com/linux/cmd)
          2. GNU text utilities (http://www.gnu.org/software/textutils/manual/textutils/html_mono/textutils.html)
        3. Archiving
          1. Linux file compression tool guide (http://www-106.ibm.com/developerworks/linux/library/l-lw-comp.html)
        4. Processes
        5. Redirection
        6. cat
          1. Concatenating files with cat (http://www-106.ibm.com/developerworks/linux/library/l-tiptex2.html)
        7. awk
          1. Awk by example, Part 1-3 (http://www-106.ibm.com/developerworks/linux/library/l-awk1.html, http://www-106.ibm.com/developerworks/linux/library/l-awk2.html, http://www-106.ibm.com/developerworks/linux/library/l-awk3.html)
        8. sed
          1. Sed by example, Part 1-3 (http://www-106.ibm.com/developerworks/linux/library/l-sed1.html, http://www-106.ibm.com/developerworks/linux/library/l-sed2.html, http://www-106.ibm.com/developerworks/linux/library/l-sed3.html)
        9. vi and emacs
          1. EMACS vs. vi: The endless geek "holy war" (http://www.newsforge.com/article.pl?sid=01/12/04/0326236)
        10. vi
          1. vim (http://www.vim.org)
          2. Vimdoc: the online source for Vim documentation (http://vimdoc.sourceforge.net/)
          3. vi Lovers Home Page (http://www.thomer.com/vi/vi.html)
          4. Mastering the VI editor (http://www.susnet.co.uk/mastering-the-vi-editor.html)
          5. vi reference card (http://my.pages.de/vi-refcard.html)
        11. emacs
          1. GNU Emacs (http://www.gnu.org/software/emacs/emacs.html)
          2. Emacs Beginner's HOWTO (http://jeremy.zawodny.com/emacs/emacs.html)
          3. GNU Emacs Reference Card (http://www.fnal.gov/docs/products/emacs/refcard.html)
        12. pico
        13. nano
        14. Regular Expressions
        15. grep
      4. Key Terms
      5. Exercises
      6. Thought Questions

    The Ease of the GUI: KDE & GNOME

    1. KDE
      1. The Desktop
      2. Konqueror
        1. As a File Manager
        2. As a Network Client
      3. The KDE Control Center
    2. GNOME
      1. The Desktop
      2. Nautilus
      3. Configuring GNOME
    3. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. KDE
          1. KDE (http://www.kde.org)
        2. GNOME
          1. GNOME (http://www.gnome.org)
          2. GNOME artwork & themes (http://art.gnome.org/)
      4. Key Terms
      5. Exercises
      6. Thought Questions

    Software Installation

    1. Shared Libraries
      1. Static and Dynamic Executables
      2. Dynamic Dependencies
      3. The Dynamic Loader
    2. Compiling from Source
      1. Preparation
      2. Configuration
      3. make
      4. make install
      5. Post-Compilation
    3. Installing via Shell Scripts
      1. Package Management
      2. Package Management Pro’s and Con’s
      3. Package Management Tools
      4. RPM-based Systems
        1. Install
        2. Uninstall
        3. Upgrade
        4. Query
      5. DEB-based Systems
        1. Install
        2. Uninstall
        3. Upgrade
        4. Query
        5. Configure
          1. Sidebar: Convert Packages with alien
    4. Managing Dependences
      1. Red Hat Network
      2. Fedora Core up2date
      3. Ximian Red Carpet
      4. Mandrake urpmi
      5. SUSE YOU
        1. Sidebar: fou4s - Fast OnlineUpdate for SuSE
    5. Managing Dependencies with APT
      1. APT for RPM
        1. Install
        2. Uninstall
        3. Upgrade
        4. Query
        5. Sidebar: Synaptic, a GUI for APT
      2. APT for Debian-Based Distributions
        1. Install
        2. Uninstall
        3. Upgrade
        4. Query
    6. Managing Dependences with YUM
    7. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. RPM
          1. RPM Package Manager (http://www.rpm.org/)
          2. Linux with RPM (http://tech.irt.org/articles/js145/index.htm)
          3. Maximum RPM (http://www.rpm.org/max-rpm/)
          4. Rpmfind.Net (http://www.rpmfind.net/)
          5. rpmseek (http://rpmseek.com/index.html?hl=com)
        2. DEB
        3. Red Hat Network
          1. Red Hat Network (http://www.redhat.com/software/rhn/)
        4. Fedora Core up2date
          1. TUTORIAL: up2date (http://fedoranews.org/tchung/up2date/)
          2. Update Your Fedora Linux Core Installation (http://www.muug.mb.ca/tutorials/fedora-updates.html)
        5. Ximian Red Carpet
          1. Ximian Desktop: Update with Red Carpet (http://www.novell.com/products/desktop/update.html)
        6. Mandrake urpmi
          1. urpmi Frequently Asked Questions (http://speculation.org/garrick/urpmifaq.txt)
          2. urpmi mini-HOWTO (http://myweb.tiscali.co.uk/eggnbacon/docs/urpmi-howto/)
        7. SUSE YOU
          1. Using YaST2 in Text Mode (ncurses) (http://www.suse.com/en/private/products/suse_linux/prof/faqs/yast_ncurses.html)
        8. APT for RPM
          1. A Very Apropos apt (http://www.linux-mag.com/2003-10/apt_01.html)
          2. [freshrpms.net] – Apt (http://freshrpms.net/apt/)
          3. DAG: Apt/Yum RPM repository (http://dag.wieers.com/home-made/apt/)
        9. APT for Debian-Based Distributions
          1. APT HOWTO (http://www.debian.org/doc/manuals/apt-howto/index.en.html)
        10. Synaptic
        11. YUM
        12. Software for KDE
          1. KDE-Apps.org (http://www.kde-apps.org/)
        13. Software for GNOME
      4. Key Terms
        1. Static executables
        2. Dynamic executables
        3. Dynamic loader
        4. RPM
        5. DEB
        6. APT
        7. YUM
      5. Exercises
      6. Thought Questions

    Day-to-Day Work

    1. Personal Information Management
      1. Kontact
      2. Evolution
    2. Web Browsers
      1. Mozilla
      2. Firefox
      3. Konqueror
      4. Opera
      5. Lynx/Links
    3. Email
      1. Kmail
      2. Thunderbird
      3. pine
      4. mutt
    4. Instant Messaging
      1. Kopete
      2. Gaim
    5. Office Suites
      1. OpenOffice.org
        1. Sidebar: StarOffice
      2. KOffice
      3. AbiWord
      4. Gnumeric
    6. Multimedia
      1. Kuickshow
      2. The GIMP
      3. Kaffeine
      4. Mplayer
    7. Other Tools
      1. Acrobat Reader
      2. K3b
    8. Teaching Tools
      1. Chapter Intro
      2. Skills Check
      3. Objectives
      4. Summary
      5. Further Resources
        1. Kontact
        2. Evolution
        3. Mozilla
          1. Mozilla (http://www.mozilla.org)
        4. Firefox
        5. Konqueror
          1. Konqueror (http://www.konqueror.org)
        6. Opera
          1. Opera (http://www.opera.com)
        7. Lynx/Links
        8. Kmail
        9. Thunderbird
        10. pine
        11. mutt
        12. Kopete
        13. Gaim
        14. OpenOffice.org
          1. OpenOffice.org (http://www.openoffice.org)
        15. KOffice
        16. AbiWord
        17. Gnumeric
        18. The GIMP
        19. Kaffeine
        20. Mplayer
        21. Acrobat Reader
        22. K3b
      6. Key Terms
      7. Exercises
      8. Thought Questions

    Working With Windows

    1. Cross-Platform Software
    2. Common File Formats
    3. Remote Control
      1. VNC
    4. Sharing Files and Printers with Samba
    5. Running Windows Software in Linux
      1. Wine
      2. Codeweavers CrossOver Office
        1. Sidebar: Run Windows Games with TransGaming Cedega
    6. Running Windows in Linux
      1. VMware
      2. Win4Lin
      3. Sidebar: Running Linux in Windows with coLinux
    7. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. VNC
          1. TightVNC (http://www.tightvnc.com)
          2. RealVNC (http://www.realvnc.com)
        2. Wine
          1. Wine HQ (http://www.winehq.com)
        3. Codeweavers CrossOver Office
          1. Codeweavers (http://www.codeweavers.com)
          2. CodeWeavers CrossOver Compatibility Center (http://www.codeweavers.com/site/compatibility/)
        4. TransGaming Cedega
          1. TransGaming (http://www.transgaming.com)
          2. TransGaming games database (http://www.transgaming.com/searchgame.php)
        5. VMware
          1. VMware (http://www.vmware.com/)
        6. Win4Lin
          1. Win4Lin (http://www.win4lin.com)
        7. coLinux
          1. coLinux (http://www.colinux.org)
        8. Key Terms
          1. WINE
          2. Emulation
        9. Exercises
        10. Thought Questions

    Administration

    Basic System Administration

    1. Local & Remote Administration
      1. Local
      2. Remote Administration Using SSH
        1. SSH, the Secure Shell
        2. Secure FTP
        3. Secure Copy
      3. Remote Administration Using GUI Tools
        1. X
        2. VNC
    2. System Documentation
      1. Man pages
      2. apropos
      3. GNU Info
      4. Documentation On Your Computer
      5. Documentation Online
      6. Linux Users Groups
    3. Administration Tools
      1. KDE
      2. GNOME
      3. Red Hat & Fedora Core Control Panels
      4. YaST
      5. Webmin
    4. Users and Groups
      1. Adding Users and Groups
        1. Using the Command Line
          1. Sidebar: Adding Users and Groups Using YaST
      2. Key Files
        1. /etc/passwd and /etc/shadow
        2. /etc/group
        3. /etc/profile and /etc/skel
    5. Your Personal Environment
      1. Login Shells and Interactive Shells
      2. .bash_profile
      3. .bashrc
      4. Setting Shell Variables
      5. PATH
    6. The Kernel
      1. Modules
        1. lsmod
        2. insmod & modprobe
        3. rmmod
      2. Recompiling the Kernel
        1. Downloading a New Kernel
        2. Configuration
        3. make dep
        4. make bzImage
        5. make modules && make modules_install
    7. Hardware
      1. USB Devices
      2. PCI Devices
      3. Printing
        1. Adding & Managing Printers with CUPS
          1. Sidebar: Adding & Managing Printers Using YaST
        2. Controlling Print Jobs
          1. Sidebar: Controlling Print Jobs with KDE
        3. Adding Fonts
    8. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. Webmin
          1. Webmin (http://www.webmin.com)
          2. Using SSL with Webmin (http://www.webmin.com/ssl.html)
        2. Recompiling the Kernel
          1. Debian Kernel 2.6 How To (http://www.desktop-linux.net/debkernel.htm)
        3. Printing
          1. Overview of Linux Printing Systems (http://www.linuxjournal.com/article.php?sid=6729)
      4. Key Terms
      5. Exercises
      6. Thought Questions

    Inter-Networking

    1. An Introduction to TCP/IP Networking
    2. Network Configuration
      1. DHCP & pump
      2. Manual Configuration
      3. /etc/network/interfaces
      4. DNS & Name Resolution
        1. /etc/hosts
        2. /etc/resolv.conf
      5. route
      6. ifconfig
      7. ifup & ifdown
        1. Sidebar: Network Configuration Using YaST
    3. Wireless Networking
      1. Configuration
        1. Sidebar: Use Windows-Only Drivers with Linuxant DriverLoader
    4. Networking Services
      1. inetd
      2. /etc/services
      3. /etc/inetd.conf
      4. Starting, Stopping, & Restarting Services
        1. Sidebar: Networking Services Configuration Using YaST
      5. TCP Wrappers
        1. /etc/hosts.allow
        2. /etc/hosts.deny
      6. xinetd
    5. Linux as a Internet Server
      1. sshd
      2. The Apache Web Server
      3. Sendmail
        1. Sidebar: Postfix, a Drop-In Replacement for Sendmail
    6. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. Linuxant DriverLoader
          1. Linuxant (http://www.linuxant.com)
        2. xinetd
          1. xinetd (http://www.synack.net/xinetd/)
          2. xinetd FAQ (http://www.synack.net/xinetd/faq.html)
          3. Using the xinetd program for system administration (http://www-106.ibm.com/developerworks/linux/library/l-xinetd/)
          4. System Administration: xinetd (http://www.linuxfocus.org/English/November2000/article175.shtml)
      4. Key Terms
      5. Exercises
      6. Thought Questions

    Local Area Networking

    1. NFS, the Network File System
      1. What is NFS?
      2. Installation
      3. Server Configuration
        1. /etc/exports
        2. Running an NFS Server
        3. Sidebar: Server Configuration Using SUSE’s YaST
      4. Client Configuration
        1. Mounting NFS Shares
        2. Sidebar: Server Configuration Using SUSE’s YaST
      5. NFS and NIS (Network Information Service)
      6. NFS: Good & Bad
    2. Samba
      1. What is Samba?
        1. Brief Bio: Andrew Tridgell
      2. Installation
      3. Server Configuration
        1. smb.conf
        2. SWAT
        3. Sidebar: Server Configuration Using SUSE’s YaST
        4. Sidebar: Client-based Server Configuration Using KSambaPlugin
      4. Client Configuration
        1. smbclient
        2. smbmount
        3. Sidebar: Client Configuration Using Smb4k
        4. Sidebar: Client Configuration Using SUSE’s YaST
      5. Samba: Good & Bad
    3. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. NFS
          1. Linux NFS-HOWTO (http://www.tldp.org/HOWTO/NFS-HOWTO/)
        2. SMB/CIFS
          1. Implementing CIFS (http://www.ubiqx.org/cifs/)
          2. Just what is SMB? (http://www.samba.org/cifs/docs/what-is-smb.html)
          3. SMB/CIFS by the Root (http://www.phrack.org/phrack/60/p60-0x0b.txt)
          4. Windows 2000 Network Architecture (http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp?url=/windows2000/techinfo/reskit/en-us/cnet/cnad_arc_endh.asp)
        3. Samba
          1. SAMBA (http://www.samba.org)
          2. SMB HOWTO (http://www.tldp.org/HOWTO/SMB-HOWTO.html)
          3. The Unofficial Samba HOWTO (http://fluffygerbil.com/samba.php)
          4. Using Samba, 2nd Edition (http://samba.he.net/using_samba/)
          5. Diagnosing Your Samba Server (http://sunse.jinr.ru/local/samba/DiagnosingSamba.html)
          6. “Troubleshooting Techniques” from Teach Yourself Samba in 24 Hours (http://us4.samba.org/samba/ftp/docs/Samba24Hc13.pdf)
          7. Introduction to Samba, Part 1-3 (http://www-106.ibm.com/developerworks/linux/library/l-sambaint/, http://www-106.ibm.com/developerworks/linux/library/l-samba[2-3].html)
        4. SWAT
          1. SWAT The Samba Web Administration Tool (http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/SWAT.html)
        5. KSambaPlugin
          1. KSambaPlugin (http://ksambakdeplugin.sourceforge.net/)
        6. Smb4k
          1. Smb4k (http://smb4k.berlios.de/)
        7. LinNeighborhood, Another Client Configuration Tool
          1. LinNeighborhood (http://www.bnro.de/~schmidjo/)
      4. Key Terms
        1. NFS
        2. SMB/CIFS
        3. Samba
      5. Exercises
      6. Thought Questions

    Data Protection & System Troubleshooting

    1. Memory
      1. free
      2. df
      3. du
    2. Backup
      1. Simple Shell Scripts
      2. Automating the Process with cron
        1. Sidebar: Konserve
      3. Rsync
      4. Unison
      5. Burning CDs & DVDs
        1. Sidebar: Using K3b
    3. System Messages & Logs
      1. dmesg
      2. syslogd & Its Spawn
        1. /etc/syslog.conf
        2. /var/log
        3. logrotate
    4. Runlevels
      1. What Are Runlevels?
      2. Single-User Mode
      3. /etc/inittab
    5. Repairing Damaged Disk File Systems
      1. fsck
    6. Using Rescue Disks
      1. Knoppix
      2. SUSE CD 1
    7. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. General
        2. Burning CDs & DVDs
          1. Burning CDs on Linux (http://www-106.ibm.com/developerworks/linux/library/l-cdburn.html?ca=dgr-lnxw02BurnCDs)
        3. Knoppix
          1. Knoppix (http://www.knopper.net/knoppix/index-en.html)
          2. Knoppix Linux (http://www.knoppix.net)
          3. Knoppix gives bootable, one-disk Linux (http://www-106.ibm.com/developerworks/linux/library/l-knopp.html)
          4. System recovery with Knoppix (http://www-106.ibm.com/developerworks/linux/library/l-knopx.html?ca=dgr-lnxw04Knoppix)
      4. Key Terms
      5. Exercises
      6. Thought Questions

    Security

    1. What is Security?
      1. CIAA: Confidentiality, Integrity, Availability, Accountability
      2. A Process, Not a Product
      3. Risk Management
      4. Sidebar: Security-Enhanced Linux, a Secure Distribution
      5. Sidebar: Hacker vs. Cracker
    2. Common Security Issues and Linux
      1. Viruses
      2. Worms
      3. Spyware
    3. Firewalls
      1. iptables
        1. Sidebar: ipchains
    4. System Hardening
      1. Physical Access
      2. Operating System Installation
      3. Local File System Security
      4. Disable Unnecessary Services
      5. User Accounts and Authentication
      6. Remote Authentication
      7. Logging and Monitoring
      8. Sidebar: Bastille Linux
    5. Assessment Tools
      1. netstat
      2. Nmap
      3. Nessus
      4. tcpdump
      5. Ethereal
      6. Snort
    6. Encryption
      1. What is Encryption?
      2. Public and Private Keys
      3. Encryption with GnuPG
        1. Sidebar: Encryption Using KGpg
    7. Teaching Tools
      1. Chapter Intro
        1. Skills Check
        2. Objectives
      2. Summary
      3. Further Resources
        1. General
          1. SecurityFocus (http://www.securityfocus.com)
        2. Firewalls
          1. Linux Firewall and Security Site (http://www.linux-firewall-tools.com/linux/)
        3. iptables
          1. May 2003 Linux Productivity Magazine: IPTables (http://www.troubleshooters.com/lpm/200305/200305.htm)
        4. System Hardening
          1. Bastille Linux (http://www.bastille-linux.org)
          2. UNIX System Hardening Checklist (http://www.linuxmagazine.com/2002-09/harden_list.htm)
        5. Secure Distributions
          1. Security-Enhanced Linux (http://www.nsa.gov/selinux/)
        6. Assessment Tools
          1. Incident Response Tools For Unix, Part One: System Tools (http://www.securityfocus.com/infocus/1679)
          2. Incident Response Tools For Unix, Part Two: File-System Tools (http://www.securityfocus.com/infocus/1738)
        7. netstat
          1. The netstat Command (http://www.faqs.org/docs/linux_network/x-087-2-iface.netstat.html)
          2. Bridge the Gap Between Physical and Virtual Networking with netstat (http://www.linuxjournal.com/article.php?sid=6613)
        8. Nmap
          1. Insecure.org – Nmap Free Security Scanner, Tools & Hacking resources (http://www.insecure.org/)
          2. Audit Your LAN Before the Bad Guys Do with nmap (http://networking.earthweb.com/netsecur/article.php/1429131)
          3. Scanning and Defending Networks with Nmap (http://www.linuxsecurity.com/feature_stories/feature_story-4.html)
        9. Nessus
          1. Nessus (http://www.nessus.org/)
          2. Introduction to Nessus, a Vulnerability Scanner (http://www.linuxsecurity.com/feature_stories/nessusintro-printer.html)
        10. tcpdump
          1. TCPDUMP public repository (http://www.tcpdump.org/)
          2. Making a Connection with tcpdump, Part I-II (http://www.linuxjournal.com/article.php?sid=6446, http://www.linuxjournal.com/article.php?sid=6447)
        11. Ethereal
          1. Ethereal: A Network Protocol Analyzer (http://www.ethereal.com/)
        12. Snort
          1. Real-time alerting with Snort, part 1-3 (http://www.newsforge.com/article.pl?sid=03/06/09/1939256, http://www.newsforge.com/article.pl?sid=03/06/10/1738243, http://www.newsforge.com/article.pl?sid=03/06/10/206243)
        13. Encryption
          1. GnuPG (http://www.gnupg.org)
          2. KGpg (http://devel-home.kde.org/~kgpg/)
      4. Key Terms
        1. Encryption
        2. Intrustion Detection System
      5. Exercises
      6. Thought Questions