Home > Store

Linux System Administration: A User's Guide

Register your product to gain access to bonus material or receive a coupon.

Linux System Administration: A User's Guide

Book

  • This product currently is not for sale.
Not for Sale

Description

  • Copyright 2002
  • Dimensions: 7-3/8x9-1/4
  • Pages: 560
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-71934-7
  • ISBN-13: 978-0-201-71934-5

"Gagne is clearly an insider in the Linux community, familiar with both the technical details and the culture, which sets this book apart from others in the field."

--Joseph Sloan, Lead System Administrator, Mirai Consulting

This comprehensive, hands-on guide to Linux system administration provides you with the deeper understanding of the inner workings of Linux and the pragmatic techniques you need to become an outstanding Linux system administrator--whether you are a career administrator in a corporate environment or simply administering your home system.

Written both for those who are new to Linux and those who are already proficient and wish to hone their skills, Linux System Administration starts with the basics and builds up to more sophisticated material.

You will find complete coverage of all major system administration topics:

  • Linux versus UNIX
  • Installation tips and tricks
  • Working effectively with the Linux command line
  • Organizing and working with system users
  • Disks, file systems, backup, and restore
  • The inner workings of X and the graphical desktop
  • Configuring and using scanners, CD-Recordables, and other devices
  • Internet connectivity
  • Finding, building, and installing software
  • Kernel building and renovation
  • Scripting and automation
  • Network administration, electronic mail, and Web services
  • Integrating Windows with Linux
  • System logs and accounting
  • Security and firewalls
  • Performance monitoring and tuning

Using standard Linux tools (PostgreSQL, Apache, Perl, and more) this book will help you deploy a feature-rich corporate intranet featuring online discussion groups, bulletin boards, a company phone directory, and a document center. You will also learn everything you need to know to install a complete electronic mail and Internet gateway solution for your home or office on a single, shared connection. In addition, numerous anecdotes from the trenches, examples of techniques to try, and plenty of experience-based advice bring important concepts to life.

Written with good humor and enthusiasm for the profession of system administration, as well as a deep appreciation for the power and flexibility of Linux, Linux System Administration will teach you the tricks of the trade, guide your efforts, and serve as a definitive and comprehensive reference.



0201719347B09242001

Sample Content

Downloadable Sample Chapter

Click below for Sample Chapter related to this title:
gagnech13.pdf

Table of Contents



Acknowledgments.


1. Introduction.

What Is Linux?

Why Linux?

The System Administrator's Job.

About This Book.

The Command Line Rules!

GUIs Rule!

Flexibility.

Is There Anything You Can't Do with Linux?

Regrets, I've Had a Few....

Resources.



2. Linux versus Linux versus UNIX.

The UNIX Question.

The Windows Question

A Question of Distribution.

So Which Linux Distribution Should You Choose?

Red Hat Linux.

SuSE.

Caldera.

Mandrake.

Slackware.

Debian.

Turbolinux.

Getting Linux.

Getting Others to Try Linux.

Sharing Space with Windows.

How about No Disk Space At All?

A Changing Landscape.

Resources.



3. Help (and the Truth) Is Out There.

Documentation and Man Pages

What If You Don't Know the Command Name?

Show Me the PATH, man!

Graphical Man Pages.

info (the Command, That Is).

HOWTOs and Distributed DOCs

The Linux Documentation Project

Linux User Groups.

Usenet News.

Resources.



4. Linux System Installation.

Getting Ready for Your Installation.

Hardware Considerations.

Passing Boot Options

Dual Booting.

The 12 (13, 14, 15...) Steps to Any Installation.

Step 1: Booting.

Step 2: Selecting the Installation Type.

Step 3: Selecting a Language (Parlez-vous Francais?).

Step 4: Choosing a Keyboard Type.

Step 5: Selecting Your Mouse.

Step 6: Selecting a Time Zone.

Step 7: Creating a Partition

Step 8: Formatting the Partitions.

Step 9: To LILO or Not to LILO.

Step 10: Choosing and Installing Software Packages.

Step 11: Configuring the Network.

Step 12: Identifying Yourself.

Step 13: The Dreaded X Window Configuration.

Step 14: The Boot Disk Question.

The (Emergency) Boot Disk.

Starting Linux.

Shutting Down Linux.

Resources.



5. Taking Command of Linux.

Linux Commands: Love at First Sight.

Working with Files.

File Naming Conventions.

Listing Files with Emotion!

File Permissions: A First Look

Making Your Life Easier with alias

Standard Input and Standard Output

Piping

tee: A Very Special Pipe.

STDERR

The Road to Nowhere

Linux Commands: Working with Directories.

There's No Place Like $HOME

More on File Permissions

User and Group Ownership.

Who Can Do What?

Who Was That Masked User?

The setuid Bit

File Attributes

Finding Anything

grep’ping for Dollars (or Anything Else for That Matter) and Piping.

Processes.

Forests and Trees.

Interrupting, Suspending, and Restarting Processes.

Killing Processes.

“I Am vi, the Great and Powerful”

:q, :w, :wq, and ZZ

Recovering a VIM Session

Power vi: Start-up Options.

Pico: A kinder, gentler editor.

Emacs

Resources.



6. Daemons and Runlevels.

Daemons and Other Not-So-Scary Things.

The inittab File.

The rc.local File and Runlevels.

Switching between Runlevels

The chkconfig Command.

Runlevels the Graphical Way.

The (Not) Last Word.

Resources.



7. Users and Groups.

Living in a Multiuser World.

When Not to Use the root User.

Managing Users

Managing Groups

Adding Groups.

Modifying Groups.

Removing Groups.

Adding Users

About Home Directories.

Group Participation.

E-mail-Only Accounts

Yet More User-Creation Controls.

Modifying a User Account.

Deleting a User Account

Checking the Password File

User and Group Administration the GUI Way.

Choosing Good Passwords

How Crackers Crack Your Passwords.

Choosing Better Passwords.

What Next?

I Logged In from Where?

How Not to Be a “Sucker”.

Resources.



8. Disks and File Systems.

Everything Is a File.

Understanding Your File Systems.

The File System Tree.

The Root File System (aka /, or Slash).

The /usr File System.

The /var File System

The /tmp File System

The /proc File System

The /lost+found File System.

fsck: The File System Check and Repair Tool.

Bad Superblock?

How Much Space Have I Got Again?

What's This about Inodes?

Mounting and Unmounting File Systems.

Creating File Systems.

Using the New File System.

Working with Quotas

Getting Ready for Quotas.

Turning Quotas On and Off

Setting Limits.

Back to Grace

Letting the Users Know.

Resources.



9. X and the Graphical Desktop.

It's Just Window Dressing, Right?

Graphical Login Managers

Working without a Graphical Login Manager.

The World beneath the Surface.

The xinitrc File.

The .xserverrc File

The Xresources File

Specifying Resources on the Command Line.

Look, Ma! I Can Run Multiple Desktops!

Backing Up and Restoring the Desktop

Running X Applications Remotely

Choosing a Window Manager

The Tab Window Manager (twm).

Window Maker.

KDE.

GNOME.

Qvwm.

Tweaking X and Dealing with Problems.

Key Mapping.

Tuning Video Modes with xvidtune.

The “Messed Up” X Session.

Screen Captures

Resources



10. Dialing Up to the Internet with PPP.

The Basics.

What You Need from Your ISP.

Where the Information Goes

The Graphical Alternative.

Automagic PPP Connections.

eznet.

wvdial.

Resources.



11. Finding, Building, and Installing Software.

Finding Software and Software Review Sites.

Freshmeat.

TUCOWS Linux.

SourceForge.

Rpmfind

Ibiblio.org.

Installing and Building Software.

Compiling from Source.

Step 1: Unpacking the Archive.

Step 2: Building Your Programs.

Downloading and Installing Perl Modules.

Package Managers.

Updating or Installing Packages on a Debian System.

Great, but Can You Tell Me What Is Already There?

Finding Out a Package's Current Release Level

What Is That Strange File?

Using apt-get to Install or Update Software.

Educating apt-get.

Graphical Alternatives.

Red Hat Package Manager.

Installing an RPM Package.

Upgrading an RPM Package.

Uninstalling an RPM Package.

Everything You Ever Wanted to Know about an RPM Package, but Were Afraid to Ask.

RPM: The Graphical Alternatives.

installpkg: Slackware's Lonely Child.

Resources.



12. Kernel Building and Renovation.

What Is This Kernel, Anyhow?

When Should I Rebuild My Kernel?

Downloading and Building a New Kernel.

Automatic Build and Install

What about the 2.4 Kernel?

Resources.



13. Printers and Printing.

Selecting Printers for Linux (and a Note about “WinPrinters”)

How Printing Works.

Filters.

HP JetDirect Adaptors.

Printer Job Control.

Printing Anything to Any Printer.

Tying It Up: Advanced Filters with Ghostscript.

Why PostScript?

A Few PostScript Tricks.

Alternative Print Systems.

PDQ.

CUPS.

Miscellaneous Tips and Tricks.

Resources.



14. Scripting and Scripting Languages.

Shells As Far As the Eye Can See.

It's Commands All the Way Down.

Passing Parameters.

A First Look at Variables.

More on Variables

Special Characters.

Really Programming the Shell.

Specifying the Shell.

Perl.

Perl in Action: A Script for Monitoring Disk Space.

Other Languages Worthy of Consideration.

Resources.



15. Simplified Administration through Automation.

Constructive Laziness.

cron: Punching Linux's Clock.

Testing Your Job.

Editing the crontab.

Could I See an Example?

Running Jobs with at

A Question of Permissions.

Other Tools for Automation.

Automatic Downloads: ncftp.

Automatic Web Fetch: wget.

Scripting for Interactive Sessions: expect.

Automating Interactive Automation.

Resources.



16. Devices, Devices, and More Devices.

Creating Device Definitions.

Major Minor

SCSI versus IDE

Why Choose One over the Other?

CD-ROMs and CD-RWs

The Graphical Way to Burn

Scanners

Back Ends.

Front Ends.

XSane

Tape Drives.

Other Tape Formats.

Miscellaneous Devices.

Resources.



17. Backups and Restores.

The Need for Backups

Basic Tools in Every Linux System.

Using cpio.

Working with tar

Backing Up Windows Workstations.

Selecting a Backup Medium.

Backing Up with dump

Restoring with (You Guessed It) restore.

Identity Backups.

Backing Up to a CD-RW

Backups the Graphical Way.

Taper: A Text-Based Backup Utility.

Kdat: Graphical and Free

Commercial Solutions.

BRU

Arkeia

Other Considerations.

Final Words

Resources.



18. Network Administration.

The Light-Speed Introduction to TCP/IP (Act 18, Scene 1).

Protocols and Suites.

Services and Ports

IP Addresses, Networks, and Subnets, Oh My!

What Are Domains?

IP Addresses and Networks

Subnets, Netmasks, and Broadcast Addresses.

Intermezzo

Setting Up Your PC Network (Act 18, Scene 2).

Drivers

Setting the IP Address.

Routing

Using netstat

Domain Name Services (Act 18, Scene 3).

The /etc/hosts File

Will the Real DNS Please Stand Up.

Setting Up Your Own Name Server.

Defining Your Domain

The /etc/named.conf File.

Listing of /etc/named.conf.

Zones

Your Own Zone File

And Now the Reverse DNS Zone.

Does It Work?

What's All This about “Lame Servers”?

Who Gets to See the Information?

DNS Wrap-up

File Sharing Under Linux (Act 18, Scene 4).

Network File System.

How Does NFS Work?

Making a Remote File System Available.

Mounting an NFS Partition

Specifying Mounts with /etc/fstab

Simplifying Network Mounts with Linux autofs.

Network Information Service (Act 18, Scene 5).

Configuring the NIS Master Server.

Configuring the NIS Client.

The /etc/nsswitch.conf File.

Miscellaneous Network Tricks: Time Synchronization.

rdate.

NTP.

Wait! What about the GUIs?

Resources.



19. Tools, Tools, and More Tools.

The Web Browser Angle.

Linuxconf.

Webmin

Graphical Administration Tools.

Tiny but Powerful Tools.

Go-Anywhere Linux

tomsrtbt.

Trinux.

The Tiny Conclusion.

There's No Control Like Remote Control.

Resources.



20. Proof of Concept, Part 1.

Of Web Servers and Intranets

Building Your Own Corporate Portal.

Building Apache from Source.

Basic Apache Configuration.

Common Changes

The Basics of Web-Connected Databases.

An Introduction to PostgreSQL.

Perl DBI and DBD for Database Access.

Downloading and Installing the Modules.

The CGI Back End

The Face of the Intranet

Protecting Certain Pages.

Resources



21. Proof of Concept, Part 2.

The Connected Office, Linux Style

What to Look for in an ISP.

Setting Up Your ISP Dial-up Connection with diald.

Automatic Remote Mail Pickup with fetchmail

IP Forwarding and Masquerading.

DNS Revisited.

Putting It All Together.

Basic Firewall Services.

Setting Up the Mail Server with Linux.

Defining the Network.

The Components

Setting Up the POP3 Server.

Setting Up sendmail.

Stopping and Restarting sendmail.

Your DNS Setup.

Setting Up Users and Aliases.

Setting Up Your Client MUAs.

Let’s Send Some Mail

Not-So-Stupid sendmail Tricks

The Multiple Domain, Similar Address Dilemma.

The Multidrop Domain.

Stop the Spam!

Resources.



22. Integrating Windows with Linux.

An Introduction to Samba.

Getting and Building Samba.

A Note on Passwords.

Configuring the Server.

The PC Side

Printing with Samba

Printing from the Windows Client.

The GUI Way to Administer Samba.

Backing Up Windows Workstations.

Running Windows on Linux.

Wine

VMware

Win4Lin.

Resources.



23. System Logs and Accounting.

Your System Logs.

Looking at Your Log Files.

What the Names Mean

Cleaning Up and What the Numbers Mean.

syslogd: The Master Logger.

Back to the logger Program.

Automating the Log-Checking Process.

Logcheck.

Web Site Log Analysis.

Analog

The Webalizer.

Resources.



24. Secure Computing.

A Brief History of Encryption.

Personal Encryption

An Introduction to the Secure Shell.

What Are Your Options?

OpenSSH.

Secure Sockets Layer.

OpenSSH (Right Back Where You Started).

Secure File Transfers.

PGP and GnuPG.

Graphical Front Ends to GnuPG.

Building Trust Relationships.

Encrypting Electronic Mail.

Building a Secure Web Server.

Building the SSL-Enabled Apache Server.

Resources.



25. Security: The Battle for Your System.

What Is a “Script Kiddie”?

The Basics: Your TCP Wrappers.

What Your TCP Wrapper Is Telling You.

“Hey, My Logs Have Nothing in Them!”

Detecting the Cracker.

The Cracker's Not-So-Invisible Footsteps.

More Thoughts If You Have Been Cracked.

Port Scanners, Sniffers, and the Cracker's Tools.

Sniffers.

PortSentry: Active Intrusion Detection and Response.

ipchains and Firewalls.

Quick and Easy Firewall Solutions.

Locating the Cracker and Reporting Him or Her.

Keeping Up-to-Date.

Resources.



26. Performance Monitoring and Tuning.

The Search for the Holy Grail.

Monitoring and Analyzing Performance.

The uptime Command.

The top Command

Graphical tops.

The free Command

Working with vmstat

What about Good Ol' ps?

Performance Enhancing Tweaks.

/proc Revisited.

File System Tweaks.

Improving Disk Drive Performance.

Do-It-Yourself Benchmarks.

Resources.



Appendix A: The All-Linux Office?


Appendix B: The GNU General Public License.


Index. 0201719347T09242001

Preface

What Is Linux?

My guess is that if you are reading this book, you already know the answer to that question. You already know that Linux is a fully multitasking operating system based on UNIX.

You may even be aware of this now famous (perhaps legendary) Usenet message from Linus Torvalds to the Usenet group comp.os.minix:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki
Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-hard disks, as that's all I have :-(.

We've come a long way from Linus's original vision of what his little project would and would not accomplish. What he managed to do was capture the imagination of scores of talented programmers around the world. Joined together through the magic of the Internet, they collaborated, coded, tweaked, and gave birth to the operating system that is now revolutionizing the world of computing.

Notice I mentioned "scores of talented programmers." Linux is not the work of one man alone. Linus Torvalds is the original architect of Linux, its father if you will, but he is not the only effort behind it. Perhaps Linus Torvalds' greatest genius lay in knowing when to share the load. For no other pay but satisfaction, he employed people around the world, delegated to them, worked with them, and asked for and accepted feedback in a next generation of the model that began with the GNU project.

GNU, by the way, is a recursive acronym that stands for "GNU's Not Unix," a project of the Free Software Foundation. This project was started in 1984 with the intention of creating a free, UNIX-like operating system. Over the years, many GNU tools were written and widely used by many commercial UNIX vendors and, of course, system administrators trying to get a job done. The appearance of Linus Torvalds' Linux kernel had made the GNU dream of a completely free, UNIX-like operating system a reality at last.

Why Linux?

Because this book is not so much about getting and installing Linux as it is working with Linux, I won't spend a long time answering the question "Why Linux?" Frankly, it would take much less time to answer the question "Why not Linux?" Suffice it to say that Linux is a powerful, reliable (some, including your humble author, might even say it's rock solid), expandable, flexible, configurable, multiuser, multitasking, and completely free operating system that runs on numerous hardware offerings. These hardware offerings include X86 chipsets (your basic, run-of-the-mill Intel PC), DEC Alpha, Macintosh, PowerPC, and a growing number of embedded processors. You can find Linux in PDA organizers, digital watches, golf carts, and cell phones. In fact, Linux has a greater support base (in terms of platforms) than just about any other operating system you can think of. IBM's entire line of hardware runs Linux!

Completely free?

Hmm . . . Maybe I should explain "free." Free, in this case, isn't a question of cost, although you can get a free/gratis copy of Linux and install it on your system without breaking any laws. Of course, because "there ain't no such thing as a free lunch" (to quote Robert A. Heinlein), even a free download costs you connection time on the Internet, disk space, time, and so on.

Linux is distributed under the GNU General Public License (GPL), which in essence says that anyone may copy, distribute, and even sell the program so long as changes to the source are reintroduced back to the community and the terms of the license remain unaltered. Free means that you are free to take Linux, modify it, and create your own version. Free means that you are not at the mercy of a single vendor who forces you into a kind of corporate servitude by making sure that it is extremely costly to convert to another environment. If you are unhappy with your Linux vendor or the support you are getting, you can move to the next vendor without forfeiting your investment in Linux.

The GNU GPL permits a distributor to "charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee." This is further qualified by the statement that the distributor must release "for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code." In other words, the GPL ensures that programs like Linux will at best be free of charge. At worst, you may be asked to pay for the cost of a copy.

Everyone should take some time to read the GNU GPL. You'll find a link to its home in the Resources section at the end of this chapter.

The System Administrator's Job

So, this book is about Linux system administration. Just what the heck is system administration anyway? System (or systems) administration is a strange beast. After many years of administering literally hundreds of computer platforms running different operating systems and varying in complexity, I came to have what some might call a strange idea of this job description.

system administrator n. Part magician, part juggler, part technical support analyst, and part bartender/psychoanalyst, the system administrator performs the impossible job of keeping all members of his or her company satisfied by making sure that everything works. This usually includes things that are completely outside the system administrators control, such as telephones, photocopiers, fax machines, heating, air conditioning, and paper shortages in the supply cabinet.

I'm being a little silly, I realize, but system administrators get to their exulted position through the strangest of ways. You will find the career system administrator who actually wanted to do the job and worked his or her way to that goal. Along this path, you will also find secretaries who were unfortunate enough (or foolish enough) to say they knew something about computers and were instantly cast into the role. This latter category of sysadmin (a popular shortening of "system administrator") is more common than you can possibly imagine. Finally, you have the home user, a relative newcomer to this wonderful calling, thanks in large part to Linux.

About This Book

When I first started thinking about how I would lay out this book, I considered a number of approaches and settled on the following. I don't want to bore you, the reader, with chapters of references to HOWTOs on the Internet (although I will give you appropriate resource links when necessary). Nor do I want to give you verbatim listings of command options or man pages.

What I do want to do is

Index

. (period)
file names, 47
shell script variables, 224
; (semicolon), comment delimiter, 393
& (ampersand), running commands in the background, 70
* (asterisk), wildcard, 46, 224
(back ticks), shell script variables, 224-225
$ (dollar sign)
command prompt, 43-44
shell script variables, 223-224
" (double quote), shell script variables, 224-225
# (pound sign)
root prompt, 44
shell script variables, 224
? (question mark), wildcard, 46, 224
' (single quote), shell script variables, 224-225
/ (slash) file system. See root file system.
| (vertical bar), piping symbol, 21
< (less than sign), redirecting STDIN, 51
> (greater than sign)
redirecting STDERR, 54
redirecting STDOUT, 51
\ (backslash), escape character, 64, 224
2.4 kernel, 199-200

A

AbiWord, 190
adduser command, 97-100
Advanced Maryland Automatic Network Disk Archiver, 284
aging passwords, 108
alias command, 49-51
aliases
commands, 49-51
e-mail, 381-382
all_squash option, 319
AMANDA program, 284
American Registry for Internet Numbers (ARIN), 472
ampersand (&), running commands in the background, 70
Analog, 419-421
anongid option, 319
anonuid option, 319
Apache Web server
building, 356-358
configuring, 358-359
SSL (Secure Sockets Layer), 443-445
apachectl command, 357
append-only file permission, 62
applications. See also daemons; entries for specific applications; processes; scripts; tools and utilities.
current, querying, 142-143
finding. See online resources; software review sites.
installed, listing, 180-181
installing. See installing applications.
program location, 115-116
selecting during installation, 36-37
updating on a Debian system, 180-185
versions, determining, 181, 188
X window system, running remotely, 146-147
apropos command, 21-23
apt-get program, 182-183
archives, unpacking, 176-177
ARIN (American Registry for Internet Numbers), 472
Arkeia program, 283-284
asterisk (*), wildcard, 46, 224
at command, 238-239
atrm command, 238-239
attributes, file, 61-63
autoexpect program, 246-247
autofs program, 322-323
automation. See also scripts.
discarding junk programs, 236-237
downloads, 240-241
log files, 415-416
ncftp program, 240-241
online resources, 247
permissions, 239
scheduling tasks with at command, 238-239
scheduling tasks with cron program, 234-236
Web fetches, 241
wget program, 241
automount program, 323

B

back ticks (), shell script variables, 224-225
backing up data
AMANDA program, 284
Arkeia program, 283-284
BRU program, 281-283
to a CD-RW, 275-277
compressing backups, 267
configuration files, 272-275
cpio command, 266
dump command, 270-272
graphical interface, 278-281, 342
identity backups, 272-275
importance of, 265-266
KDat program, 280-281
restoring from backup, 272
selecting a backup medium, 268-270
Taper program, 278-280
tar command, 267
from Windows workstations, 268
backslash (\), escape character, 64, 224
Backup and Restore program, 281-283
bash (Bourne Again) shell, 220
benchmarks, performance, 489-490
BIND (Berkeley Internet Name Domain)
description, 304-305
online resources, 304-305, 332
security warning, 306
bit bucket, 54-55
books. See documentation.
boot disks
creating, 38-39
provided, 33
boot options, passing, 31
booting. See also shutting down Linux.
dual booting, 32
history of the term, 40
for installation, 33
bootstrapping, 40
Bourne Again (bash) shell, 220
Bourne (sh) shell, 220
broadcast addresses, 295-296
BRU program, 281-283
BugTraq, 473
burning CDs
command line interface, 253-255
graphical interface, 255-256
online resources, 253, 255, 263
bzip2, 191

C

Caldera distribution, 13
cat command, 45
cd command, 55
CDR toaster, 263
cdrecord program, 253
CD-ROMs
burning, 252-256
drivers, 31
online resources, 31, 41
running Linux from, 16
CD-RWs
as backup media, 275-277
burning, 252-256
CERT Coordination Center, 472
chains, 466-468, 473
chattr command, 62
chgrp command, 57-58
chkconfig command, 85-86
chmod command, 57-59
chown command, 57-58
CIDR (Classless InterDomain Routing), 296-298
Classless InterDomain Routing (CIDR), 296-298
clock
displaying, 142-143
scheduling tasks, 234-236
CodeWeavers, 402
color, in file listings, 45-46
command line interface, 5. See also GUIs (Graphical User Interfaces).
command prompt, 43-44
commands. See also tools and utilities.
aliases, 49-51
forcing, 50-51
help for, 19-23
running in the background, 70
saving in files. See scripts.
verification request, bypassing, 50-51
commands, usage
at, 238-239
adduser, 97-100
alias, 49-51
apachectl, 357
apropos, 21-23
atrm, 238-239
cat, 45
cd, 55
chattr, 62
chgrp, 57-58
chkconfig, 85-86
chmod, 57-59
chown, 57-58
cp, 45
cpio, 266
date, 44
df, 122-123
dig, 312-313
dpkg, 180-181
du, 277
dump, 270-272
echo, 44
exportfs, 319-320
fdisk, 127-129
find, 63-65
finger, 44
free, 478-479
grep, 65-66
groupadd, 96
groupdel, 97
groupmod, 96-97
grpck, 103
hdparm, 487-489
htpasswd, 367
ifconfig, 299-301
info, 23-24
jobs, 71
kill, 72-73
kuser, 104-105
last, 44
lastlog, 102-103
less, 45
linux, 40
lpc, 209-210
lpq, 210
lprm, 210
ls, 45-46
lsattr, 61-63
man, 19-20
mkbootdisk, 39
mkdir, 55
mkfs, 129
mknod, 249-251
more, 45, 409
mount, 124-125, 320-321
mpage, 214
mt, 261
mv, 45, 55
ntpd, 331
ntpdate, 331
ps, 66-68
pstree, 68-70
pwck, 102-103
pwd, 55
quotacheck, 131
rdate, 330
repquota, 131
restore, 272
rm, 45, 48-49
rmdir, 55
route, 301-302
rpm, 173
scp, 432-433
shutdown, 41
smbtar, 400-401
sort, 45
tar, 267
time, 490-491
top, 476-477
tty, 44
umask, 59-60
uniq, 45
uptime, 476
userconf, 103-104
userdel, 100-101
usermod, 100
vigr, 92
vimtutor, 75
vipw, 92
vncpassword, 350
vncserver, 349
vncviewer, 350
w, 44
wc, 45
who, 44
whoami, 44
xclock, 142-143
xntpd, 331
xrefresh, 156
xwininfo, 142-143
ypcat, 329
Common UNIX Printing System (CUPS), 217
Comprehensive Perl Archive Network (CPAN), 178
compression
backups, 267
online resources, 191
program comparisons, 177
concatenating files, 45
configuration
DNS, determining, 304-305
file systems, displaying, 126
configuration files
backing up, 272-275
rereading, 197-198
configuring
Apache Web server, 358-359
desktops, 141-143
Linux, with Linuxconf, 334-338
Linux, with Webmin, 338-341
master server, 325-327
monitors, 38
multiple runlevels, 86
networks, 37
NIS client, 327-328
Samba server, 393-395
startup services, 85-86, 90
X window system, 37-38
connectionless protocols, 288
connection-oriented protocols, 288
copying files, 45
country codes, 292
cp command, 45
CPAN (Comprehensive Perl Archive Network), 178
cpio command, 266
CPU usage, monitoring, 479-481
cracking. See also security.
access, tracking and denying, 448-451
crackers, locating and reporting, 471-472
detecting
changed files, 452-458
log files, 452
PortSentry program, 464-466
TCP wrappers, 448-451
online resources, 473
OS fingerprinting, 459
passwords, 106-107, 109-110
port scanners, 459-461
responding to, 458, 464-466
script kiddies, 448
sniffers, 461-463
Sniffit program, 462-463
social engineering, 109-110
TCP wrappers, 448-451
tcpdump program, 463
creating
boot disks, 38-39
device definitions, 249-251
directories, 55
file systems, 127-129
log files, 410-411
shell scripts, 220-221
credit card information, protecting, 442-443
cron program, 234
crond program, 234
crontab file, 234-236
CUPS (Common UNIX Printing System), 217

D

daemons, 81-82. See also applications; processes.
DataBase Dependent (DBD) module, 362-363
DataBase Interface (DBI) module, 362-363
databases
DBD (DataBase Dependent) module, 362-363
DBI (DataBase Interface) module, 362-363
PostgreSQL, 360-361
programming with Perl, 362-363
Web-connected, 359
datagrams, 288
date. See also time.
converting Gregorian to Discordian, 344-345
setting, 44
time synchronization, 330-331
date command, 44
DBD (DataBase Dependent) module, 362-363
DBI (DataBase Interface) module, 362-363
dcron program, 234
dead processes, 71
Debian Linux
distribution description, 14
graphical interface, 183-185
installing/updating on, 180-185
Deja.com, 27
deleting
directories, 55-56
files, 45, 48-49
junk programs, automating, 236-237
mailboxes, 101
print jobs, 210
users, 100-101
DemoLinux distribution, 16
denial of service attacks, 484-486
desktops. See also GUIs (Graphical User Interfaces); window managers; X window system.
backing up, 145-146
configuring, 141-143
cursor color, changing, 141
multiple, 144-145
restoring, 145-146
starting, 138-139
switching between, 144-145
device definitions, creating, 249-251
devices. See also disks; printers.
CD-ROMs, 252-256
CD-RWs, 252-256
online resources, 263
SANE (Scanner Access Now Easy) libraries, 257-260
scanners, 257-260
SCSI vs. IDE, 251-252
tape drives, 260-262
Xsane program, 259-260
df command, 122-123
diald program, 370-372, 388
dial-up connections, setting up, 370-372
dig command, 312-313
directories
changing to, 55
creating, 55
deleting, 55-56
home, returning to, 56
moving, 55
renaming, 55
working directory, printing, 55
disks
disk drives, performance tuning, 487-489
floppy. See floppy-based Linux.
I/O, monitoring, 480
partitioning. See partitioning.
space, monitoring, 122-123
space, usage limits. See quotas.
displaying
file contents, 45
file names, 45-46
file permissions, 64
group files, 92
displaying (cont.)
log files, 407-408
processes, 66-70
distributions, Linux
Caldera, 13
choosing, 11-15
Debian, 14
definition, 10-11
DemoLinux, 16
DragonLinux, 16
finding. See online resources; software review sites.
on a floppy disk
LOAF (Linux On A Floppy), 343-344
tomsrtbt, 344-345
Trinux, 345-348
installing. See installing Linux.
Mandrake, 13
Phat Linux, 16
Red Hat, 12
Slackware, 14
SuSE, 12-13
Turbolinux, 15
DNS (domain name servers). See also IP addresses; NIS (network information service).
BIND (Berkeley Internet Name Domain), 304-305
configuration, determining, 304-305
domains, defining, 306
/etc/hosts file, 303-304
/etc/named.conf file, 306-308
example, 375-376
lame servers, 313
online resources, 332, 388
restricting access, 313-314
reverse DNS zones, 311-312
reverse IP mapping, 311-312
security warning, 303, 306
testing, 312-313
zone files, 310-311
zones, 308-310
documentation. See also man pages; online resources.
Exploring Expect, 247
HOWTOs, 24-25
info files, 23-24
kernel source, 200
LDP (Linux Documentation Project), 25-26
location, 116
sendmail, 388
texinfo system, 23-24
dollar sign ($)
command prompt, 43-44
shell script variables, 223-224
domain name servers (DNS). See DNS (domain name servers).
domains
defining, 306
definition, 291-292
multidrop, 387
DOS, UMSDOS file system, 32
double quote ("), shell script variables, 224-225
downloads, automating, 240-241
dpkg command, 180-181
DragonLinux, 16, 32
drivers
CD-ROM, 31
network administration, 298-299
printer, 204
dselect program, 183
du command, 277
dual booting, 32
dump command, 270-272

E

easydns files, 388
EasyFw program, 469
echo command, 44
editing
crontab file, 235-236
password files, 92-96
editors
Emacs, 79-80
online resources, 80
Pico, 78-79
vi, 73-78
Emacs editor, 79-80
e-mail
aliases, setting up, 381-382
encrypting, 441-442
LDA (local delivery agent), 378
mail server, setting up, 377-378
mailing lists, 368
MTA (mail transport agent), 378
MUA (mail user agent), 378, 383-385
multidrop domains, 387
multiple domains, similar addresses, 386-387
Pegasus Mail, 384-385
PGP signatures, 441-442
POP3 (Post Office Protocol), 161, 379
remote pickup, 372-374
sendmail, 379-381, 386-387
SMTP (Simple Mail Transfer Protocol), 161
spam filters, 387-388
users, setting up, 381-382
e-mail-only accounts, 99
emergency boot disks. See boot disks.
encrypting e-mail, 441-442
encryption, 425-426. See also PGP (Pretty Good Privacy).
environment variables, shell scripts, 223-224
error file, standard. See STDERR (standard error).
ESP Print Pro, 217
/etc/hosts file, 303-304
/etc/named.conf file, 306-308
/etc/nsswitch.conf file, 328-329
executable file permissions, 57, 60-61
Expect home page, 247
expect program, 242-247
Exploring Expect, 247
exportfs command, 319-320
eznet program, 165-166

F

fd0. See STDIN (standard input).
fd1. See STDOUT (standard output).
fdisk command, 127-129
fetchmail program, 372-374
.fetchmail.rc file, 373
FHS (Filesystem Hierarchy Standard), 134
file contents
displaying, 45
searching, grep command, 65-66
searching, vi editor, 77
sorting, 45
unique lines, returning, 45
word count, 45
file descriptor 0. See STDIN (standard input).
file descriptor 1. See STDOUT (standard output).
file handles, performance tuning, 486
file permissions
append-only, 62
changing, 57-58
defaults, 59-60
examining, 64
executable, 57, 60-61
group ownership, 57-58
hidden files, 47
listing, 46-47
"Permission denied" messages, 63
r permission, 57
read, 57
s bit, 60-61
s (setuid) bit, 60-61
undeletable files, 47-49
user ownership, 57-58
w permission, 57
write, 57
x permission, 57
z permission, 57
file system trees
definition, 113-114
header files, 115
programs, 115
root file system, 113-114
shared libraries, 115
swap partitions, 113-114
system loadable modules, 114
file systems
checking and repairing, 120-122
configuration, displaying, 126
creating, 127-129
defaults, 125
definition, 113
description, 112
games, 116
indirect blocks, 124
inodes, 123-124
/lost+found, 120-122
mounting/unmounting, 124-126
online resources, 134
performance tuning, 482-487
/proc, 117-120
programs, 116
slices, 112
specifying, 129
system documentation, 116
/tmp, 117
/usr, 115-116
/var, 116
variable data, 116
X window system, 116
file types, testing in scripts, 227
files. See also entries for specific files.
associated packages, identifying, 181, 188-189
attributes, 61-63
concatenating, 45
copying, 45
data, 112
definition, 111-112
deleting, 45, 48-49
directory, 112
finding, 63-65
hidden, 47
listing, 45-46 . See also finding.
locking/recovering, 317
log. See log files.
maximum open, setting, 486
monitoring changes, 189
moving, 45
naming conventions, 45
ordinary, 112
piping, 53
renaming, 45
secure transfers, 432-433
sharing, 314
special, 112
STDERR (standard error), 54-55
STDIN (standard input), 51-53
STDOUT (standard output), 51-53
text, 112
undeletable, 47-48
Filesystem Hierarchy Standard (FHS), 134
filters
print, 205-208, 211-213
spam, 387-388
find command, 63-65
finding. See also searching.
applications. See online resources; software review sites.
files, 63-65
users, 44
finger command, 44
FIPS, 32
firewalls, 376-377, 466-471
floppy-based Linux
LOAF (Linux On A Floppy), 343-344
tomsrtbt, 344-345
Trinux, 345-348
forcing commands, 50-51
forest view of processes, 68-70
form feeds, extraneous, 207
free command, 478-479
Freshmeat, 170-171
fsck program, 120-121
Ftape-HOWTO, 263

G

games, 116
GDiskFree, 123
gdm program, 136-138
Gelians, Jacques, 334
gfcc program, 470
ghostscript, 211-213
GIDs (group IDs), 93
GIMP, 263
GNOME (GNU Network Object Model Environment)
online resources, 158, 491
window manager, 152-153
gnomecc, 341-342
gnorpm program, 189-190, 342
GNU Emacs, 80
GNU (GNU's Not Unix), 2, 7
GNU Network Object Model Environment (GNOME). See GNOME (GNU Network Object Model Environment).
GnuPG (GNU Privacy Guard), 433-439. See also encryption.
GNU's Not Unix (GNU)
definition, 2
online resources, 7
Google Groups, 27
gppp-wvdial program, 168
grace periods, quota violations, 132-134
Grand Salmar Station, 363-367
graphical login managers, 136-138
Graphical User Interfaces (GUIs). See GUIs (Graphical User Interfaces).
greater than sign (>)
redirecting STDERR, 54
redirecting STDOUT, 51
Gregorian dates, converting to Discordian, 344-345
grep command, 65-66
group files, 92, 103
group IDs (GIDs), 93
group ownership, 57-58
groupadd command, 96
groupdel command, 97
groupmod command, 96-97
groups
default, 98
defining, 98-99
managing, command line interface, 96-97
managing, graphical interface, 342
grpck command, 103
GTK+ Firewall Control Center, 470
GUIs (Graphical User Interfaces). See also desktops; window managers; X window system.
benefits of, 5
gnomecc, 341-342
gnorpm, 342
Grand Salmar Station, 363-367
kcontrol, 342
kdat, 342
KDE control panel, 341-342
klpq, 342
kpackage, 342
kuser, 342
Linuxconf, 334-338
timetool, 342
VNC (Virtual Network Computing), 348-352
Web browser interfaces, 334-341
Webmin, 338-341
xinitrc file, 139-140
.xinitrc file, 139-140
Xresources file, 141-143
.xserverrc file, 140-141

H

hacking. See cracking.
hard disks. See disks.
hard mounts, 320
hardware compatibility, 30, 41
hardware requirements, 30-31
Harris, David, 384
hash mark. See pound sign.
hashing, 107
hdparm command, 487-489
header files. location, 115
Heinlein, Robert A., 233
help. See also documentation; man pages; online resources.
in vi editor, 74-75
hidden files, 47
Hipp, D. Richard, 165
home directory, 56, 98
$HOME environment variable, 56
HOWTOs, 24-25
HP JetDirect adapters, 208-209
HP710C printers, 204
htpasswd command, 367

I

IANA (Internet Assigned Numbers Authority), 292
ibiblio.org site, 174-175
ICE window manager, 158
identity backups, 272-275
ifconfig command, 299-301
import program, 157-158
indirect blocks, 124
inetd process, 289-290
info command, 23-24
info files, 23-24
init process, 82-83, 289-290
inittab file, 82-83
inodes, 123-124
input file, standard. See STDIN (standard input).
installing applications. See also package managers.
compiling from source, 175-178
on a Debian system, 180-185
unpacking archives, 176-177
installing Linux. See also package managers.
applications, selecting, 36-37
boot disks, creating, 38-39
boot disks, provided, 33
boot options, passing, 31
booting, 33
CD-ROM drivers, 31
compiling from source, 175-178
dual booting, 32
hardware requirements, 30-31
installation type, selecting, 33-34
keyboard type, selecting, 34
language, selecting, 34
LILO (Linux loader), 36
MBR (master boot record), 36
monitors, configuring, 38
mouse, selecting, 34
network, configuring, 37
partitioning, 32, 35-36
passwords, selecting, 37
root partitions, 35
swap partitions, 35
time required, 29
time zone, selecting, 34
UMSDOS file system, 32
unpacking archives, 176-177
X window system, configuring, 37-38
installing Perl modules, 178-179
installpkg program, 191
interactive sessions, scripting, 242-247
Intermezzo, 296-298
Internet. See also e-mail; intranets; IP addresses; PPP (Point-to-Point Protocol).
dial-up connections, setting up, 370-372
firewalls, 376-377
graphical interface, 162-164
IP forwarding, 374-375
ISPs, choosing, 370
Linux resources. See online resources.
masquerading, 374-375
SLIP (Serial Line Interface Protocol), 371
Internet Assigned Numbers Authority (IANA), 292
Internet Service Providers (ISPs), 160, 370
Internet Software Consortium, 304-305
interrupting processes, 70-71
intranets. See also Internet.
Apache Web server
building, 356-358
configuring, 358-359
databases
DBD (DataBase Dependent) module, 362-363
DBI (DataBase Interface) module, 362-363
PostgreSQL, 360-361
programming with Perl, 362-363
Web-connected, 359
definition, 355-356
Grand Salmar Station, 363-367
passwords, 366-367
user interface, 363-367
IP addresses
defining, 292-294
reverse mapping, 311-312
setting up, 299-301
IP forwarding, 374-375
IP packets, 288
ipchains program, 466-468, 473
ipfwadm program, 466
ISC, 332
ISPs (Internet Service Providers), 160, 370

J

jobs. See processes.
jobs command, 71
Jörg Schilling's site, 253

K

K Desktop Environment (KDE). See KDE (K Desktop Environment).
kcontrol, 342
kdat, 342
KDat program, 280-281
KDE (K Desktop Environment)
control panel, 341-342
online resources, 90, 158, 491
window manager, 151-152
KDiskFree, 123
kdm program, 136-138
"kernel too big" message, 197
kernels
2.4 kernel, 199-200
definition, 193
Linux Kernel Archives, 30
online resources, 201
rebuilding
automatically, 199
building a new kernel, 194-198
downloading a new kernel, 194
identifying need for, 193-194
including in LILO, 197-198
"kernel too big" message, 197
loadable modules, 196
rereading the configuration file, 197-198
source documentation, 200
key mapping, 154-155
keyboard type, selecting, 34
kill command, 72-73
killing processes, 72-73
Kjos, Ian, 255
klpq, 342
Kourai, Kenichi, 153-154
kpackage program, 184, 342
ksysv program, 88-90
kuser command, 104-105, 342
kwvdial program, 168
Kyoseon, Koo, 470

L

lame servers, 313
Langford, Jacob A., 215
language, selecting, 34
last command, 44
lastlog command, 102-103
LDA (local delivery agent), 378
LDP (Linux Documentation Project), 25-26
less command, 45
less than sign (<), redirecting STDIN, 51
LILO (Linux loader), 36
line feeds, converting to carriage returns, 205-208
links, on documentation pages, 24
Linux
application software, 6
definition, 1-3
distributions. See distributions.
installing. See installing Linux.
Internet resources. See online resources.
limitations, 6
running from CD-ROM, 16
running Windows applications. See Windows.
sources for, 15
updating on a Debian system, 180-185
vs. UNIX, 9-10
vs. Windows, 10
linux command, 40
Linux Kernel Archives, 30, 201
Linux Kernel HOWTO, 201
Linux Router Project, 332
LinuxBerg site, 171
Linuxconf, 334-338
LinuxPrinting.org, 218
listing. See displaying.
loadable modules, 196
LOAF (Linux On A Floppy), 343-344
local delivery agent (LDA), 378
log files
Analog, 419-421
analyzing, 415-424
archiving, 410-411
automating, 415-416
cleaning up, 409-411
contents, specifying, 412-418
detecting crackers, 452
displaying, 407-408
Logcheck, 416-418
logger program, 414-415
master logger, 411-414
names, 408-409
recreating, 410-411
rotating, 410-411
syslog.conf file, 412-414
syslogd daemon, 411-414
system logs, 407
user-generated entries, 414-415
Web server logs, 418-424
Webalizer, 421-424
wtmp file, 409
Logcheck, 416-418
logged-in users, querying, 44
logger program, 414-415
login managers, 136-138
logins
most recent, determining, 102
multiple, preventing, 226-228
source location, determining, 108-109
logrotate program, 410
/lost+found file systems, 120-122
lpc command, 209-210
lpq command, 210
lprm command, 210
ls command, 45-46
lsattr command, 61-63
LUGs (Linux User Groups), 26

M

MAC (Media Access Control) addresses, 300
mail server, setting up, 377-378
mail transport agent (MTA), 378
mail user agent (MUA), 378, 383-385
mailboxes, deleting, 101
mailing lists, 368
major device numbers, 249-251
man command, 19-20
man pages, 19-23. See also documentation; online resources.
Mandrake distribution, 13
MANPATHs, 23
masquerading, 374-375
master boot record (MBR), 36
master logger, 411-414
master process, 82-83
master server, configuring, 325-327
MBR (master boot record), 36
Media Access Control (MAC) addresses, 300
memory, monitoring, 478-479
menus, on documentation pages, 24
metacharacters, 46
metalab.unc.edu site, 174-175
Mills, David L., 330
minor device numbers, 249-251
mkbootdisk command, 39
mkdir command, 55
mkfs command, 129
mknod command, 249-251
ModSSL, 446
monitoring
changes to files, 189
command execution time, 490-491
CPU usage, 479-481
disk I/O, 480
disk space, 122-123, 229-231
memory, 478-479
up time, 476
monitors, configuring, 38
more command, 45
mount command, 124-125, 320-321
mounting file systems
description, 124-126
/etc/fstab, 321-322
Linux autofs, 322-323
mount command, 124-125
mount requests, 317
NFS (Network File System)
with /etc/fstab, 321-322
hard mounts, 320
with Linux autofs, 322-323
with mount command, 320-321
mount requests, 317
rpc.mountd daemon, 317
soft mounts, 320
mouse, selecting, 34
moving
directories, 55
files, 45
mpage command, 214
mt command, 261
MTA (mail transport agent), 378
MUA (mail user agent), 378, 383-385
multidrop domains, 387
mv command, 45, 55

N

Nagree, Yusuf, 278
naming conventions, files, 45
ncftp program, 240-241
ncftpget program, 240
ncftpput program, 240
netmasks, 295-298
Netscape, 429
Netscape Communicator, 388
netstat program, 302-303
Netwatch, 473
network administration. See also DNS (domain name servers); Internet; intranets; IP addresses; NFS (Network File System).
breaking up a network, 294-296
broadcast addresses, 295-296
CIDR (Classless InterDomain Routing), 296-298
configuring during installation, 37
connectionless protocols, 288
connection-oriented protocols, 288
country codes, 292
datagrams, 288
domains, 291-292
drivers, 298-299
file sharing, 314
graphical interfaces, 331
IANA (Internet Assigned Numbers Authority), 292
inetd process, 289-290
init process, 289-290
Intermezzo, 296-298
IP packets, 288
MAC (Media Access Control) addresses, 300
netmasks, 295-298
network classes, 293-294
ntop program, 347
NTP, 330-331
online resources, 332
ports, 289-290
protocols, 288
rdate command, 330
routers, 296
routing, configuring, 301-303
routing, performance tuning, 482-484
services, 289-290
subnets, 296
TCP (Transmission Control Protocol), 288
TCP/IP, 288-289
time synchronization, 330-331
TLDs (top-level domains), 291
UDP (User Datagram Protocol), 288
usage, displaying, 347
network classes, 293-294
Network File System (NFS). See NFS (Network File System).
network information service (NIS). See NIS (network information service).
Network News Transfer Protocol (NNTP), 161
NFS (Network File System)
file locking/recovery, 317
hard mounts, 320
mount requests, 317
mounting, 320-323
overview, 315-316
quota support, 317
remote file systems, making available, 317-320
RPC services, determining, 316
rpc.mountd daemon, 317
rpc.nfsd daemon, 317
rpc.quotad daemon, 317
rpc.statd daemon, 317
soft mounts, 320
squashing permissions, 317-320
user requests, 317
NFS project, 315
NIS (network information service). See also DNS (domain name servers).
configuring the master server, 325-327
configuring the NIS client, 327-328
/etc/nsswitch.conf file, 328-329
overview, 324-325
Nmap, 473
NNTP (Network News Transfer Protocol), 161
no_hide option, 318
Norman, Tim, 204
no_root_

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership