Purchase
Copyright © 2002 Paul Sheer.
Click here for copying permissions.
Home
Next:
Contents
 
Contents
LINUX:
Rute User's Tutorial and Exposition
(Version 1.0.0)
Paul Sheer
Contents
Preface
Acknowledgments
1. Introduction
1.1 What This Book Covers
1.2 Read This Next...
1.3 What Do I Need to Get Started?
1.4 More About This Book
1.5 I Get Frustrated with U
NIX
Documentation That I Don't Understand
1.6 LPI and RHCE Requirements
1.7 Not RedHat: RedHat-
like
1.8 Updates and Errata
2. Computing Sub-basics
2.1 Binary, Octal, Decimal, and Hexadecimal
2.2 Files
2.3 Commands
2.4 Login and Password Change
2.5 Listing Files
2.6 Command-Line Editing Keys
2.7 Console Keys
2.8 Creating Files
2.9 Allowable Characters for File Names
2.10 Directories
3. PC Hardware
3.1 Motherboard
3.2 Master/Slave IDE
3.3 CMOS
3.4 Serial Devices
3.5 Modems
4. Basic Commands
4.1 The
ls
Command, Hidden Files, Command-Line Options
4.2 Error Messages
4.3 Wildcards, Names, Extensions, and
glob
Expressions
4.3.1 File naming
4.3.2 Glob expressions
4.4 Usage Summaries and the Copy Command
4.5 Directory Manipulation
4.6
Relative
vs.
Absolute
Pathnames
4.7 System Manual Pages
4.8 System
info
Pages
4.9 Some Basic Commands
4.10 The
mc
File Manager
4.11 Multimedia Commands for Fun
4.12 Terminating Commands
4.13 Compressed Files
4.14 Searching for Files
4.15 Searching
Within
Files
4.16 Copying to MS-DOS and Windows Formatted Floppy Disks
4.17 Archives and Backups
4.18 The
PATH
Where Commands Are Searched For
4.19 The
--
Option
5. Regular Expressions
5.1 Overview
5.2 The
fgrep
Command
5.3 Regular Expression
\{
\}
Notation
5.4
+
?
\<
\>
(
)
|
Notation
5.5 Regular Expression Subexpressions
6. Editing Text Files
6.1
vi
6.2 Syntax Highlighting
6.3 Editors
6.3.1 Cooledit
6.3.2
vi
and
vim
6.3.3 Emacs
6.3.4 Other editors
7. Shell Scripting
7.1 Introduction
7.2 Looping: the
while
and
until
Statements
7.3 Looping: the
for
Statement
7.4
break
ing Out of Loops and
continue
ing
7.5 Looping Over Glob Expressions
7.6 The
case
Statement
7.7 Using Functions: the
function
Keyword
7.8 Properly Processing Command-Line Args:
shift
7.9 More on Command-Line Arguments:
$@
and
$0
7.10 Single Forward Quote Notation
7.11 Double-Quote Notation
7.12 Backward-Quote Substitution
8. Streams and
sed
-- The Stream Editor
8.1 Introduction
8.2 Tutorial
8.3 Piping Using
|
Notation
8.4 A Complex Piping Example
8.5 Redirecting Streams with
>&
8.6 Using
sed
to Edit Streams
8.7 Regular Expression Subexpressions
8.8 Inserting and Deleting Lines
9. Processes, Environment Variables
9.1 Introduction
9.2
ps
-- List Running Processes
9.3 Controlling Jobs
9.4 Creating Background Processes
9.5
kill
ing
a Process, Sending Signals
9.6 List of Common Signals
9.7 Niceness of Processes, Scheduling Priority
9.8 Process CPU/Memory Consumption,
top
9.9 Environments of Processes
10. Mail
10.1 Sending and Reading Mail
10.2 The SMTP Protocol -- Sending Mail Raw to Port
25
11. User Accounts and Ownerships
11.1 File Ownerships
11.2 The Password File
/etc/passwd
11.3 Shadow Password File:
/etc/shadow
11.4 The
groups
Command and
/etc/group
11.5 Manually Creating a User Account
11.6 Automatically:
useradd
and
groupadd
11.7 User Logins
11.7.1 The
login
command
11.7.2 The
set user
,
su
command
11.7.3 The
who
,
w
, and
users
commands to see who is logged in
11.7.4 The
id
command and
effective
UID
11.7.5 User limits
12. Using Internet Services
12.1
ssh
, not
telnet
or
rlogin
12.2
rcp
and
scp
12.3
rsh
12.4 FTP
12.5
finger
12.6 Sending Files by Email
12.6.1
uuencode
and
uudecode
12.6.2 MIME encapsulation
13. L
INUX
Resources
13.1 FTP Sites and the
sunsite
Mirror
13.2 HTTP -- Web Sites
13.3 SourceForge
13.4 Mailing Lists
13.4.1 Majordomo and Listserv
13.4.2
*
-request
13.5 Newsgroups
13.6 RFCs
14. Permission and Modification Times
14.1 The
chmod
Command
14.2 The
umask
Command
14.3 Modification Times:
stat
15. Symbolic and Hard Links
15.1 Soft Links
15.2 Hard Links
16. Pre-installed Documentation
Kernel documentation:
/usr/src/linux/Documentation/
X Window System graphics hardware support:
/usr/X11R6/lib/X11/doc/
T
E
X and Meta-Font reference:
/usr/share/texmf/doc/
L
A
T
E
X HTML documentation:
/usr/share/texmf/doc/latex/latex2e-html/
HOWTOs:
/usr/doc/HOWTO
or
/usr/share/doc/HOWTO
Mini HOWTOs:
/usr/doc/HOWTO/mini
or
/usr/share/doc/HOWTO/mini
L
INUX
documentation project:
/usr/doc/LDP
or
/usr/share/doc/ldp
Web documentation:
/home/httpd/html
or
/var/www/html
Apache reference:
/home/httpd/html/manual
or
/var/www/html/manual
Manual pages:
/usr/man/
or
/usr/share/man/
info
pages:
/usr/info/
or
/usr/share/info/
Individual package documentation
:
/usr/doc/*
or
/usr/share/doc/*
17. Overview of the U
NIX
Directory Layout
17.1 Packages
17.2 U
NIX
Directory Superstructure
17.3 L
INUX
on a Single Floppy Disk
18. U
NIX
Devices
18.1 Device Files
18.2 Block and Character Devices
18.3
Major
and
Minor
Device Numbers
18.4 Common Device Names
18.5
dd
,
tar
, and Tricks with Block Devices
18.5.1 Creating boot disks from boot images
18.5.2 Erasing disks
18.5.3 Identifying data on raw disks
18.5.4 Duplicating a disk
18.5.5 Backing up to floppies
18.5.6 Tape backups
18.5.7 Hiding program output, creating blocks of zeros
18.6 Creating Devices with
mknod
and
/dev/MAKEDEV
19. Partitions, File Systems, Formatting, Mounting
19.1 The Physical Disk Structure
19.1.1 Cylinders, heads, and sectors
19.1.2 Large Block Addressing
19.1.3 Extended partitions
19.2 Partitioning a New Disk
19.3 Formatting Devices
19.3.1 File systems
19.3.2
mke2fs
19.3.3 Formatting floppies and removable drives
19.3.4 Creating MS-DOS floppies
19.3.5
mkswap
,
swapon
, and
swapoff
19.4 Device Mounting
19.4.1 Mounting CD-ROMs
19.4.2 Mounting floppy disks
19.4.3 Mounting Windows and NT partitions
19.5 File System Repair:
fsck
19.6 File System Errors on Boot
19.7 Automatic Mounts:
fstab
19.8 Manually Mounting
/proc
19.9 RAM and Loopback Devices
19.9.1 Formatting a floppy inside a file
19.9.2 CD-ROM files
19.10 Remounting
19.11 Disk
sync
20. Advanced Shell Scripting
20.1 Lists of Commands
20.2 Special Parameters:
$?
,
$*
,...
20.3 Expansion
20.4 Built-in Commands
20.5 Trapping Signals -- the
trap
Command
20.6 Internal Settings -- the
set
Command
20.7 Useful Scripts and Commands
20.7.1
chroot
20.7.2
if
conditionals
20.7.3
patch
ing and
diff
ing
20.7.4 Internet connectivity test
20.7.5 Recursive
grep
(search)
20.7.6 Recursive search and replace
20.7.7
cut
and
awk
-- manipulating text file fields
20.7.8 Calculations with
bc
20.7.9 Conversion of graphics formats of many files
20.7.10 Securely erasing files
20.7.11 Persistent background processes
20.7.12 Processing the process list
20.8 Shell Initialization
20.8.1 Customizing the
PATH
and
LD_LIBRARY_PATH
20.9 File Locking
20.9.1 Locking a mailbox file
20.9.2 Locking over NFS
20.9.3 Directory versus file locking
20.9.4 Locking inside
C
programs
21. System Services and
lpd
21.1 Using
lpr
21.2 Downloading and Installing
21.3
LPRng
vs. Legacy
lpr-0.
nn
21.4 Package Elements
21.4.1 Documentation files
21.4.2 Web pages, mailing lists, and download points
21.4.3 User programs
21.4.4 Daemon and administrator programs
21.4.5 Configuration files
21.4.6 Service initialization files
21.4.7 Spool files
21.4.8 Log files
21.4.9 Log file rotation
21.4.10 Environment variables
21.5 The
printcap
File in Detail
21.6 PostScript and the Print Filter
21.7 Access Control
21.8 Printing Troubleshooting
21.9 Useful Programs
21.9.1
printtool
21.9.2
apsfilter
21.9.3
mpage
21.9.4
psutils
21.10 Printing to Things Besides Printers
22. Trivial Introduction to
C
22.1
C
Fundamentals
22.1.1 The simplest
C
program
22.1.2 Variables and types
22.1.3 Functions
22.1.4
for
,
while
,
if
, and
switch
statements
22.1.5 Strings, arrays, and memory allocation
22.1.6 String operations
22.1.7 File operations
22.1.8 Reading command-line arguments inside
C
programs
22.1.9 A more complicated example
22.1.10
#include
statements and prototypes
22.1.11
C
comments
22.1.12
#define
and
#if
--
C
macros
22.2 Debugging with
gdb
and
strace
22.2.1
gdb
22.2.2 Examining
core
files
22.2.3
strace
22.3
C
Libraries
22.4
C
Projects --
Makefile
s
22.4.1 Completing our example
Makefile
22.4.2 Putting it all together
23. Shared Libraries
23.1 Creating DLL
.so
Files
23.2 DLL Versioning
23.3 Installing DLL
.so
Files
24. Source and Binary Packages
24.1 Building GNU Source Packages
24.2 RedHat and Debian Binary Packages
24.2.1 Package versioning
24.2.2 Installing, upgrading, and deleting
24.2.3 Dependencies
24.2.4 Package queries
24.2.5 File lists and file queries
24.2.6 Package verification
24.2.7 Special queries
24.2.8
dpkg
/
apt
versus
rpm
24.3 Source Packages
25. Introduction to IP
25.1 Internet Communication
25.2 Special IP Addresses
25.3 Network Masks and Addresses
25.4 Computers on a LAN
25.5 Configuring Interfaces
25.6 Configuring Routing
25.7 Configuring Startup Scripts
25.7.1 RedHat networking scripts
25.7.2 Debian networking scripts
25.8 Complex Routing -- a Many-Hop Example
25.9 Interface Aliasing -- Many IPs on One Physical Card
25.10 Diagnostic Utilities
25.10.1
ping
25.10.2
traceroute
25.10.3
tcpdump
26. TCP and UDP
26.1 The TCP Header
26.2 A Sample TCP Session
26.3 User Datagram Protocol (UDP)
26.4
/etc/services
File
26.5 Encrypting and Forwarding TCP
27. DNS and Name Resolution
27.1 Top-Level Domains (TLDs)
27.2 Resolving DNS Names to IP Addresses
27.2.1 The Internet DNS infrastructure
27.2.2 The name resolution process
27.3 Configuring Your Local Machine
27.4 Reverse Lookups
27.5
Authoritative
for a Domain
27.6 The
host
,
ping
, and
whois
Command
27.7 The
nslookup
Command
27.7.1
NS
,
MX
,
PTR
,
A
and
CNAME
records
27.8 The
dig
Command
28. Network File System, NFS
28.1 Software
28.2 Configuration Example
28.3 Access Permissions
28.4 Security
28.5 Kernel NFS
29. Services Running Under
inetd
29.1 The
inetd
Package
29.2 Invoking Services with
/etc/inetd.conf
29.2.1 Invoking a standalone service
29.2.2 Invoking an
inetd
service
29.2.3 Invoking an
inetd
``TCP wrapper'' service
29.2.4 Distribution conventions
29.3 Various Service Explanations
29.4 The
xinetd
Alternative
29.5 Configuration Files
29.5.1 Limiting access
29.6 Security
30.
exim
and
sendmail
30.1 Introduction
30.1.1 How mail works
30.1.2 Configuring a POP/IMAP server
30.1.3 Why
exim
?
30.2
exim
Package Contents
30.3
exim
Configuration File
30.3.1 Global settings
30.3.2 Transports
30.3.3 Directors
30.3.4 Routers
30.4 Full-blown Mail server
30.5 Shell Commands for
exim
Administration
30.6 The Queue
30.7
/etc/aliases
for Equivalent Addresses
30.8 Real-Time Blocking List -- Combating Spam
30.8.1 What is
spam
?
30.8.2 Basic spam prevention
30.8.3 Real-time blocking list
30.8.4 Mail administrator and user responsibilities
30.9 Sendmail
31.
lilo
,
initrd
, and Booting
31.1 Usage
31.2 Theory
31.2.1 Kernel boot sequence
31.2.2 Master boot record
31.2.3 Booting partitions
31.2.4 Limitations
31.3
lilo.conf
and the
lilo
Command
31.4 Creating Boot Floppy Disks
31.5 SCSI Installation Complications and
initrd
31.6 Creating an
initrd
Image
31.7 Modifying
lilo.conf
for
initrd
31.8 Using
mkinitrd
32.
init
,
?
getty
, and U
NIX
Run Levels
32.1
init
-- the First Process
32.2
/etc/inittab
32.2.1 Minimal configuration
32.2.2 Rereading
inittab
32.2.3 The
respawning too fast
error
32.3 Useful Run Levels
32.4
getty
Invocation
32.5 Bootup Summary
32.6 Incoming Faxes and Modem Logins
32.6.1
mgetty
with character terminals
32.6.2
mgetty
log files
32.6.3
mgetty
with modems
32.6.4
mgetty
receiving faxes
33. Sending Faxes
33.1 Fax Through Printing
33.2 Setgid Wrapper Binary
34.
uucp
and
uux
34.1 Command-Line Operation
34.2 Configuration
uucico
34.3 Modem Dial
34.4
tty
/UUCP Lock Files
34.5 Debugging
uucp
34.6 Using
uux
with
exim
34.7 Scheduling Dialouts
35. The L
INUX
File System Standard
35.1 Introduction
35.1.1 Purpose
35.1.2 Conventions
35.2 The Filesystem
35.3 The Root Filesystem
35.3.1 Purpose
35.3.2 Requirements
35.3.3 Specific Options
35.3.4 /bin : Essential user command binaries (for use by all users)
35.3.4.1 Purpose
35.3.4.2 Requirements
35.3.4.3 Specific Options
35.3.5 /boot : Static files of the boot loader
35.3.5.1 Purpose
35.3.5.2 Specific Options
35.3.6 /dev : Device files
35.3.6.1 Purpose
35.3.6.2 Specific Options
35.3.7 /etc : Host-specific system configuration
35.3.7.1 Purpose
35.3.7.2 Requirements
35.3.7.3 Specific Options
35.3.7.4 /etc/opt : Configuration files for /opt
35.3.7.5 /etc/X11 : Configuration for the X Window System (optional)
35.3.7.6 /etc/sgml : Configuration files for SGML and XML (optional)
35.3.8 /home : User home directories (optional)
35.3.8.1 Purpose
35.3.9 /lib : Essential shared libraries and kernel modules
35.3.9.1 Purpose
35.3.9.2 Requirements
35.3.9.3 Specific Options
35.3.10 /lib<qual> : Alternate format essential shared libraries (optional)
35.3.10.1 Purpose
35.3.10.2 Requirements
35.3.11 /mnt : Mount point for a temporarily mounted filesystem
35.3.11.1 Purpose
35.3.12 /opt : Add-on application software packages
35.3.12.1 Purpose
35.3.12.2 Requirements
35.3.13 /root : Home directory for the root user (optional)
35.3.13.1 Purpose
35.3.14 /sbin : System binaries
35.3.14.1 Purpose
35.3.14.2 Requirements
35.3.14.3 Specific Options
35.3.15 /tmp : Temporary files
35.3.15.1 Purpose
35.4 The /usr Hierarchy
35.4.1 Purpose
35.4.2 Requirements
35.4.3 Specific Options
35.4.4 /usr/X11R6 : X Window System, Version 11 Release 6 (optional)
35.4.4.1 Purpose
35.4.4.2 Specific Options
35.4.5 /usr/bin : Most user commands
35.4.5.1 Purpose
35.4.5.2 Specific Options
35.4.6 /usr/include : Directory for standard include files.
35.4.6.1 Purpose
35.4.6.2 Specific Options
35.4.7 /usr/lib : Libraries for programming and packages
35.4.7.1 Purpose
35.4.7.2 Specific Options
35.4.8 /usr/lib<qual> : Alternate format libraries (optional)
35.4.8.1 Purpose
35.4.9 /usr/local : Local hierarchy
35.4.9.1 Purpose
35.4.9.2 Requirements
35.4.9.3 Specific Options
35.4.10 /usr/sbin : Non-essential standard system binaries
35.4.10.1 Purpose
35.4.11 /usr/share : Architecture-independent data
35.4.11.1 Purpose
35.4.11.2 Requirements
35.4.11.3 Specific Options
35.4.11.4 /usr/share/dict : Word lists (optional)
35.4.11.5 /usr/share/man : Manual pages
35.4.11.6 /usr/share/misc : Miscellaneous architecture-independent data
35.4.11.7 /usr/share/sgml : SGML and XML data (optional)
35.4.12 /usr/src : Source code (optional)
35.4.12.1 Purpose
35.5 The /var Hierarchy
35.5.1 Purpose
35.5.2 Requirements
35.5.3 Specific Options
35.5.4 /var/account : Process accounting logs (optional)
35.5.4.1 Purpose
35.5.5 /var/cache : Application cache data
35.5.5.1 Purpose
35.5.5.2 Specific Options
35.5.5.3 /var/cache/fonts : Locally-generated fonts (optional)
35.5.5.4 /var/cache/man : Locally-formatted manual pages (optional)
35.5.6 /var/crash : System crash dumps (optional)
35.5.6.1 Purpose
35.5.7 /var/games : Variable game data (optional)
35.5.7.1 Purpose
35.5.8 /var/lib : Variable state information
35.5.8.1 Purpose
35.5.8.2 Requirements
35.5.8.3 Specific Options
35.5.8.4 /var/lib/<editor> : Editor backup files and state (optional)
35.5.8.5 /var/lib/hwclock : State directory for hwclock (optional)
35.5.8.6 /var/lib/misc : Miscellaneous variable data
35.5.9 /var/lock : Lock files
35.5.9.1 Purpose
35.5.10 /var/log : Log files and directories
35.5.10.1 Purpose
35.5.10.2 Specific Options
35.5.11 /var/mail : User mailbox files (optional)
35.5.11.1 Purpose
35.5.12 /var/opt : Variable data for /opt
35.5.12.1 Purpose
35.5.13 /var/run : Run-time variable data
35.5.13.1 Purpose
35.5.13.2 Requirements
35.5.14 /var/spool : Application spool data
35.5.14.1 Purpose
35.5.14.2 Specific Options
35.5.14.3 /var/spool/lpd : Line-printer daemon print queues (optional)
35.5.14.4 /var/spool/rwho : Rwhod files (optional)
35.5.15 /var/tmp : Temporary files preserved between system reboots
35.5.15.1 Purpose
35.5.16 /var/yp : Network Information Service (NIS) database files (optional)
35.5.16.1 Purpose
35.6 Operating System Specific Annex
35.6.1 Linux
35.6.1.1 / : Root directory
35.6.1.2 /bin : Essential user command binaries (for use by all users)
35.6.1.3 /dev : Devices and special files
35.6.1.4 /etc : Host-specific system configuration
35.6.1.5 /proc : Kernel and process information virtual filesystem
35.6.1.6 /sbin : Essential system binaries
Optional files for /sbin:
35.6.1.7 /usr/include : Header files included by C programs
35.6.1.8 /usr/src : Source code
35.6.1.9 /var/spool/cron : cron and at jobs
35.7 Appendix
35.7.1 The FHS mailing list
35.7.2 Background of the FHS
35.7.3 General Guidelines
35.7.4 Scope
35.7.5 Acknowledgments
35.7.6 Contributors
36.
httpd
-- Apache Web Server
36.1 Web Server Basics
36.2 Installing and Configuring Apache
36.2.1 Sample
httpd.conf
36.2.2 Common directives
36.2.3 User HTML directories
36.2.4 Aliasing
36.2.5 Fancy indexes
36.2.6 Encoding and language negotiation
36.2.7 Server-side includes -- SSI
36.2.8 CGI -- Common Gateway Interface
36.2.9 Forms and CGI
36.2.10 Setuid CGIs
36.2.11 Apache modules and PHP
36.2.12 Virtual hosts
37.
crond
and
atd
37.1
/etc/crontab
Configuration File
37.2 The
at
Command
37.3 Other
cron
Packages
38.
postgres
SQL Server
38.1 Structured Query Language
38.2
postgres
38.3
postgres
Package Content
38.4 Installing and Initializing
postgres
38.5 Database Queries with
psql
38.6 Introduction to SQL
38.6.1 Creating tables
38.6.2 Listing a table
38.6.3 Adding a column
38.6.4 Deleting (dropping) a column
38.6.5 Deleting (dropping) a table
38.6.6 Inserting rows, ``object relational''
38.6.7 Locating rows
38.6.8 Listing selected columns, and the
oid
column
38.6.9 Creating tables from other tables
38.6.10 Deleting rows
38.6.11 Searches
38.6.12 Migrating from another database; dumping and restoring tables as plain text
38.6.13 Dumping an entire database
38.6.14 More advanced searches
38.7 Real Database Projects
39.
smbd
-- Samba NT Server
39.1 Samba: An Introduction by Christopher R. Hertel
History -- the (hopefully) Untedious Version
Meanwhile, on the Other Side of the Planet...
What Samba Does
Other Stuff
SMB Filesystems for Linux
Setup and Management
The Present
The Future
39.2 Configuring Samba
39.3 Configuring Windows
39.4 Configuring a Windows Printer
39.5 Configuring
swat
39.6 Windows NT Caveats
40.
named
-- Domain Name Server
40.1 Documentation
40.2 Configuring
bind
40.2.1 Example configuration
Local client configuration:
/etc/resolv.conf
Top-level config file:
/etc/named.conf
Root name server list:
/var/named/named.ca
Local forward lookups:
/var/named/named.localdomain
Local reverse lookups:
/var/named/named.127.0.0.1
Authoritative domain file:
/var/named/named.cranzgot.co.za
LAN reverse lookups:
/var/named/named.192.168.2
Authoritative reverse lookups (1):
/var/named/named.196.28.144
Authoritative reverse lookups (2):
/var/named/named.160.123.181.44
40.2.2 Starting the name server
40.2.3 Configuration in detail
40.2.3.1 Top-level
named.conf
40.2.3.2 Domain
SOA
records
40.2.3.3 Dotted and non-dotted host names
40.2.3.4 Empty host names
40.2.3.5
NS
,
MX
,
PTR
,
A
, and
CNAME
records
40.2.3.6 Reverse lookups configuration
40.3 Round-Robin Load-Sharing
40.4 Configuring
named
for Dialup Use
40.4.1 Example caching name server
40.4.2 Dynamic IP addresses
40.5 Secondary or Slave DNS Servers
41. Point-to-Point Protocol -- Dialup Networking
41.1 Basic Dialup
41.1.1 Determining your
chat
script
41.1.2 CHAP and PAP
41.1.3 Running
pppd
41.2 Demand-Dial, Masquerading
41.3 Dialup DNS
41.4 Dial-in Servers
41.5 Using
tcpdump
41.6 ISDN Instead of Modems
42. The L
INUX
Kernel Source, Modules, and Hardware Support
42.1 Kernel Constitution
42.2 Kernel Version Numbers
42.3 Modules,
insmod
Command, and Siblings
42.4 Interrupts, I/O Ports, and DMA Channels
42.5 Module Options and Device Configuration
42.5.1 Five ways to pass options to a module
42.5.2 Module documentation sources
42.6 Configuring Various Devices
42.6.1 Sound and
pnpdump
42.6.2 Parallel port
42.6.3 NIC -- Ethernet, PCI, and old ISA
42.6.4 PCI vendor ID and device ID
42.6.5 PCI and sound
42.6.6 Commercial sound drivers
42.6.7 The ALSA sound project
42.6.8 Multiple Ethernet cards
42.6.9 SCSI disks
42.6.10 SCSI termination and cooling
42.6.11 CD writers
42.6.12 Serial devices
42.7 Modem Cards
42.8 More on
LILO:
Options
42.9 Building the Kernel
42.9.1 Unpacking and patching
42.9.2 Configuring
42.10 Using Packaged Kernel Source
42.11 Building, Installing
43. The X Window System
43.1 The X Protocol
43.2 Widget Libraries and Desktops
43.2.1 Background
43.2.2 Qt
43.2.3 Gtk
43.2.4 GNUStep
43.3 XFree86
43.3.1 Running X and key conventions
43.3.2 Running X utilities
43.3.3 Running two X sessions
43.3.4 Running a window manager
43.3.5 X access control and remote display
43.3.6 X selections, cutting, and pasting
43.4 The X Distribution
43.5 X Documentation
43.5.1 Programming
43.5.2 Configuration documentation
43.5.3 XFree86 web site
43.6 X Configuration
43.6.1 Simple 16-color X server
43.6.2 Plug-and-Play operation
43.6.3 Proper X configuration
43.7 Visuals
43.8 The
startx
and
xinit
Commands
43.9 Login Screen
43.10 X Font Naming Conventions
43.11 Font Configuration
43.12 The Font Server
44. U
NIX
Security
44.1 Common Attacks
44.1.1 Buffer overflow attacks
44.1.2 Setuid programs
44.1.3 Network client programs
44.1.4
/tmp
file vulnerability
44.1.5 Permission problems
44.1.6 Environment variables
44.1.7 Password sniffing
44.1.8 Password cracking
44.1.9 Denial of service attacks
44.2 Other Types of Attack
44.3 Counter Measures
44.3.1 Removing known risks: outdated packages
44.3.2 Removing known risks: compromised packages
44.3.3 Removing known risks: permissions
44.3.4 Password management
44.3.5 Disabling inherently insecure services
44.3.6 Removing potential risks: network
44.3.7 Removing potential risks: setuid programs
44.3.8 Making life difficult
44.3.9 Custom security paradigms
44.3.10 Proactive cunning
44.4 Important Reading
44.5 Security Quick-Quiz
44.6 Security Auditing
A. Lecture Schedule
A.1 Hardware Requirements
A.2 Student Selection
A.3 Lecture Style
Lesson 1
Lesson 2
Lesson 3
Lesson 4
Lesson 5
Lesson 6
Lesson 7
Lesson 8
Lesson 9
Lesson 10
Lesson 11
Lesson 12
B. LPI Certification Cross-Reference
B.1 Exam Details for 101
General L
INUX
, part I
Topic 1.3: GNU and U
NIX
Commands
Topic 2.4: Devices, L
INUX
File Systems,
Filesystem Hierarchy Standard
Topic 2.6: Boot, Initialization, Shutdown, Run Levels
Topic 1.8: Documentation
Topic 2.11: Administrative Tasks
B.2 Exam Details for 102
General L
INUX
, part II
Topic 1.1: Hardware and Architecture
Topic 2.2: L
INUX
Installation and Package Management
Topic 1.5: Kernel
Topic 1.7: Text Editing, Processing, Printing
Topic 1.9: Shells, Scripting, Programming, Compiling
Topic 2.10: X
Topic 1.12: Networking Fundamentals
Topic 1.13: Networking Services
Topic 1.14: Security
C. RHCE Certification Cross-Reference
C.1 RH020, RH030, RH033, RH120, RH130, and RH133
C.2 RH300
Unit 1: Hardware selection and RedHat installation
Unit 2: Configuring and administration
Unit 3: Alternative installation methods
Unit 4: Kernel
Unit 5: Basic network services
Unit 6: X Window System
Unit 7: Security
Unit 8: Firewalling, routing and clustering, troubleshooting
C.3 RH220 (RH253 Part 1)
Unit 1: DNS
Unit 2: Samba
Unit 3: NIS
Unit 4: Sendmail and procmail
Unit 5: Apache
Unit 6:
pppd
and DHCP
C.4 RH250 (RH253 Part 2)
Unit 1: Introduction
Unit 2: Local user security
Unit 3: Files and file system security
Unit 4: Password security and encryption
Unit 5: Process security and monitoring
Unit 6: Building firewalls
Unit 7: Security tools
D. L
INUX
Advocacy FAQ
D.1 L
INUX
Overview
What is L
INUX
?
What are U
NIX
systems used for? What can L
INUX
do?
What other platforms does L
INUX
run on including the PC?
What is meant by GNU/L
INUX
as opposed to L
INUX
?
What web pages should I look at?
What are Debian, RedHat, Caldera, SuSE? Explain the different L
INUX
distributions.
Who developed L
INUX
?
Why should I not use L
INUX
?
D.2 L
INUX
, GNU, and Licensing
What is L
INUX
's license?
What is GNU?
Why is GNU software better than proprietary software?
Explain the restrictions of L
INUX
's ``free''GNU
General Public License.
If L
INUX
is free, where do companies have the right to make money from selling CDs?
What if Linus Torvalds decided to change the copyright on the kernel? Could he sell out to a company?
What if Linus Torvalds stopped supporting L
INUX
? What if kernel development split?
What is Open Source vs. Free vs. Shareware?
D.3 L
INUX
Distributions
If everyone is constantly modifying the source, isn't this bad for the consumer? How is the user protected from bogus software?
There are so many different L
INUX
versions -- is this not confusion and incompatibility?
Will a program from one L
INUX
Distribution run on another?
How compatible are the different distributions?
What is the best distribution to use?
Where do I get L
INUX
?
How do I install L
INUX
?
D.4 L
INUX
Support
Where does a person get L
INUX
support? My purchased software is supported; how does L
INUX
compete?
D.5 L
INUX
Compared to Other Systems
What is the most popular U
NIX
in the world?
How many L
INUX
systems are there out there?
What is the total cost of installing and running L
INUX
compared to a proprietary non-U
NIX
system?
What is the total cost of installing and running a L
INUX
system compared to a proprietary U
NIX
system?
How does L
INUX
compare to other operating systems in performance?
What about SMP and a journalling file system? Is L
INUX
enterprise-ready?
Does L
INUX
only support 2 Gigs of memory and 128 Meg of swap?
Isn't U
NIX
antiquated? Isn't its security model outdated?
How does FreeBSD compare to L
INUX
?
D.6 Migrating to L
INUX
What are the principal issues when migrating to L
INUX
from a non-U
NIX
system?
What are the principal issues when migrating to L
INUX
from another U
NIX
system?
How should a supervisor proceed after making the decision to migrate to L
INUX
?
D.7 Technical
Are L
INUX
CDs readable from Windows?
Can I run L
INUX
and Windows on the same machine?
How much space do I need to install L
INUX
?
What are the hardware requirements?
What hardware is supported? Will my sound/graphics/network card work?
Can I view my Windows, OS/2, and MS-DOS files under L
INUX
?
Can I run DOS programs under L
INUX
?
Can I recompile Windows programs under L
INUX
?
Can I run Windows programs under L
INUX
?
I have heard that L
INUX
does not suffer from virus attacks. Is it true that there is no threat of viruses with U
NIX
systems?
Is L
INUX
as secure as other servers?
E. The GNU General Public License Version 2
About this document ...