1. UNIX AND LINUX SYSTEMADMINISTRATIONHANDBOOKFOURTH
EDITION
2. This page intentionally left blank
3. UNIX AND LINUX SYSTEMADMINISTRATIONHANDBOOKFOURTH EDITIONEvi
NemethGarth SnyderTrent R. HeinBen Whaleywith Terry Morreale, Ned
McClain,Ron Jachim, David Schweikert, and Tobi
Oetiker6QQFS4BEEMF3JWFS
/+t#PTUPOt*OEJBOBQPMJTt4BO'SBODJTDP/FX:PSLt5PSPOUPt.POUSFBMt-POEPOt.VOJDIt1BSJTt.BESJE$BQFUPXOt4ZEOFZt5PLZPt4JOHBQPSFt.FYJDP$JUZ
4. Many of the designations used by manufacturers and sellers
to distinguish their products are claimed as trademarks.Where those
designations appear in this book, and the publisher was aware of a
trademark claim, the designations havebeen printed with initial
capital letters or in all capitals.Red Hat Enterprise Linux and the
Red Hat SHADOWMAN logo are registered trademarks of Red Hat Inc.,
and suchtrademarks are used with permission.Ubuntu is a registered
trademark of Canonical Limited, and is used with permission.SUSE
and openSUSE are registered trademarks of Novell Inc. in the United
States and other countries.Oracle Solaris and OpenSolaris are
registered trademarks of Oracle and/or its affiliates. All rights
reserved.HP-UX is a registered trademark of Hewlett-Packard
Company. (HP-UX)AIX is a trademark of IBM Corp., registered in the
U.S. and other countries.The authors and publisher have taken care
in the preparation of this book, but make no expressed or implied
warranty ofany kind and assume no responsibility for errors or
omissions. No liability is assumed for incidental or
consequentialdamages in connection with or arising out of the use
of the information or programs contained herein.The publisher
offers excellent discounts on this book when ordered in quantity
for bulk purchases or special sales, whichmay include electronic
versions and/or custom covers and content particular to your
business, training goals, marketingfocus, and branding interests.
For more information, please contact:U.S. Corporate and Government
Sales(800) [email protected] sales outside
the United States, please contact International Sales
([email protected] ).Visit us on the Web:
informit.com/phLibrary of Congress Cataloging-in-Publication
DataUNIX and Linux system administration handbook / Evi Nemeth ...
[et al.].4th ed.p. cm.Rev. ed of: Unix system administration
handbook, 3rd ed., 2001.Includes index.ISBN 978-0-13-148005-6 (pbk.
: alk. paper)1. Operating systems (Computers) 2. UNIX (Computer
file) 3. Linux.I. Nemeth, Evi. II. Unix system administration
handbook.QA76.76.O63N45 2010005.4'32dc222010018773Copyright 2011
Pearson Education, Inc.All rights reserved. Printed in the United
States of America. This publication is protected by copyright, and
permissionmust be obtained from the publisher prior to any
prohibited reproduction, storage in a retrieval system, or
transmissionin any form or by any means, electronic, mechanical,
photocopying, recording, or likewise. For information
regardingpermissions, write to:Pearson Education, Inc.Rights and
Contracts Department501 Boylston Street, Suite 900Boston, MA
02116Fax: (617) 671-3447ISBN-13: 978-0-13-148005-6ISBN-10:
0-13-148005-7Text printed in the United States on recycled paper at
Edwards Brothers in Ann Arbor, Michigan.First printing, June
2010
5. vTable of ContentsFOREWORD xliiPREFACE xlivACKNOWLEDGMENTS
xlviSECTION ONE: BASIC ADMINISTRATIONCHAPTER 1 WHERE TO START
3Essential duties of the system administrator . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 4Account provisioning. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 4Adding and removing hardware. . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4Performing backups . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 5Installing and
upgrading software . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 5Monitoring the system . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 5Troubleshooting . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5Maintaining local documentation . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 5Vigilantly monitoring
security . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 6Fire fighting . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 6Suggested background . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6Friction between UNIX and Linux . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 7Linux distributions .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 9Example systems used in this
book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 10Example Linux distributions. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Example
UNIX distributions . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 12
6. vi UNIX and Linux System Administration
HandbookSystem-specific administration tools. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 13Notation and
typographical conventions . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 13Units . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 14Man pages and other on-line documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16Organization of the man pages. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 16man: read man pages . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 17Storage of man pages . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17GNU Texinfo. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 18Other
authoritative documentation. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 18System-specific guides . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 18Package-specific documentation . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 19Books . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 19RFCs and other
Internet documents . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 20The Linux Documentation Project . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 20Other sources
of information . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 20Ways to find and install
software . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 21Determining whether software has already
been installed . . . . . . . . . . . . . . . 22Adding new software
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 23Building software from source code . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25System administration under duress . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 26Recommended reading .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 27System administration . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 27Essential tools . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28CHAPTER 2 SCRIPTING AND THE SHELL 29Shell basics . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 30Command editing. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 30Pipes and redirection . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31Variables and quoting . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 32Common filter
commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 33cut: separate lines into fields . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34sort: sort lines . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 34uniq: print
unique lines . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 35wc: count lines, words, and characters
. . . . . . . . . . . . . . . . . . . . . . . . . . . 35tee: copy
input to two places . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 35head and tail: read the beginning or end
of a file . . . . . . . . . . . . . . . . . . 36grep: search text .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 36
7. Table of Contents viibash scripting . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 37From commands to scripts . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38Input and output. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 40Command-line
arguments and functions. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 40Variable scope . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42Control flow. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 43Loops . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 45Arrays and arithmetic
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 47Regular expressions . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 48The matching process . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Literal
characters. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 49Special characters . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 50Example regular expressions. . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51Captures . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52Greediness, laziness, and catastrophic backtracking . . . . . . .
. . . . . . . . . . . . . 53Perl programming . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 54Variables and arrays . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55Array and string literals . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 56Function calls .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 56Type conversions in expressions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 57String expansions and disambiguation of variable references .
. . . . . . . . . . . 57Hashes . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 57References and autovivification . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 59Regular
expressions in Perl . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 60Input and output. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 61Control flow. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 61Accepting and validating input. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 63Perl as a filter . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 64Add-on modules for Perl. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 65Python scripting . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66Python quick start. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 67Objects,
strings, numbers, lists, dictionaries, tuples, and files . . . . .
. . . . . . . 69Input validation example. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Loops .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 71Scripting best
practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 73Recommended reading . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 74Shell basics and bash scripting . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74Regular expressions . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 75Perl scripting .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 75Python scripting . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 75Exercises. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 76
8. viii UNIX and Linux System Administration HandbookCHAPTER 3
BOOTING AND SHUTTING DOWN 77Bootstrapping . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 78Recovery boot to a shell . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78Steps in the boot process . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 78Kernel
initialization . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 79Hardware configuration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 79Creation of kernel processes . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79Operator intervention (recovery mode only). . . . . . . . . . . .
. . . . . . . . . . . . . . 80Execution of startup scripts. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 81Boot process completion . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 81Booting PCs. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 82GRUB: The GRand Unified
Boot loader. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 83Kernel options. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84Multibooting . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 85Booting to
single-user mode . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 86Single-user mode with GRUB.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 86Single-user mode on SPARC . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 86HP-UX single-user
mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 87AIX single-user mode . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87Working with startup scripts . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 87init and its
run levels . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 88Overview of startup scripts .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 89Red Hat startup scripts. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91SUSE
startup scripts . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 93Ubuntu startup scripts
and the Upstart daemon . . . . . . . . . . . . . . . . . . . . . .
. 94HP-UX startup scripts . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 95AIX startup . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 95Booting Solaris . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 97The Solaris Service Management Facility
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97A brave
new world: booting with SMF . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 99Rebooting and shutting down . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
100shutdown: the genteel way to halt the system . . . . . . . . . .
. . . . . . . . . . . . . . 100halt and reboot: simpler ways to
shut down . . . . . . . . . . . . . . . . . . . . . . . . .
101Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
102CHAPTER 4 ACCESS CONTROL AND ROOTLY POWERS 103Traditional UNIX
access control . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 104Filesystem access control . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 104Process ownership . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 105The root
account. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 105Setuid and setgid
execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 106
9. Table of Contents ixModern access control . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .106Role-based access control . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 108SELinux:
security-enhanced Linux. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 109POSIX capabilities (Linux) . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
109PAM: Pluggable Authentication Modules . . . . . . . . . . . . .
. . . . . . . . . . . . . . 109Kerberos: third-party cryptographic
authentication . . . . . . . . . . . . . . . . . . . 110Access
control lists . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .110Real-world access control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 110Choosing a root password . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
111Logging in to the root account . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 112su: substitute user
identity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 113sudo: limited su. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 113Password vaults and password escrow . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 117Pseudo-users other than
root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .118Exercises. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 119CHAPTER 5 CONTROLLING PROCESSES 120Components
of a process. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 120PID: process ID number . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .121PPID: parent PID . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121UID
and EUID: real and effective user ID . . . . . . . . . . . . . . .
. . . . . . . . . . . . 122GID and EGID: real and effective group
ID . . . . . . . . . . . . . . . . . . . . . . . . . . 122Niceness
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 123Control terminal . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 123The life cycle of a process . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 123Signals. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 124kill: send signals . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 127Process states . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
128nice and renice: influence scheduling priority. . . . . . . . .
. . . . . . . . . . . . . . . . . . . 129ps: monitor processes. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 130Dynamic monitoring with top, prstat, and
topas . . . . . . . . . . . . . . . . . . . . . . . . . 133The
/proc filesystem. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 135strace, truss,
and tusc: trace signals and system calls . . . . . . . . . . . . .
. . . . . . . . . 136Runaway processes . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 138Recommended reading . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
.139Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
139CHAPTER 6 THE FILESYSTEM 140Pathnames . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 142Absolute and relative paths . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
142Spaces in filenames . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 142Filesystem
mounting and unmounting . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 143The organization of the file tree . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 145
10. x UNIX and Linux System Administration HandbookFile types .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 147Regular files .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 149Directories . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 149Character and block device files . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
150Local domain sockets . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 151Named pipes . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 151Symbolic links . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 151File attributes. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 152The permission bits . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 152The
setuid and setgid bits . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 153The sticky bit . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 154ls: list and inspect files . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 154chmod: change permissions . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 156chown and chgrp:
change ownership and group . . . . . . . . . . . . . . . . . . . .
. 157umask: assign default permissions. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 158Linux bonus flags . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 158Access control lists . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 159A short and brutal history of UNIX ACLs . . . . . . .
. . . . . . . . . . . . . . . . . . . . 160ACL implementation . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 161ACL support by system . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
162POSIX ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 162Interaction
between traditional modes and ACLs. . . . . . . . . . . . . . . . .
163Access determination . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 165ACL inheritance . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 166NFSv4 ACLs . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
166NFSv4 entities for which permissions can be specified. . . . . .
. . . . . . . 168Access determination . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 168ACL
inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 169NFSv4 ACL viewing in Solaris .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
169Interactions between ACLs and modes. . . . . . . . . . . . . . .
. . . . . . . . . . . 171Modifying NFSv4 ACLs in Solaris . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 172Exercises. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 173CHAPTER 7 ADDING
NEW USERS 174The /etc/passwd file . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
176Login name . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 176Encrypted
password . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 179UID (user ID) number. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 180Default GID number . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 181GECOS
field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 181Home directory. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 182Login shell . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 182The /etc/shadow and /etc/security/passwd files . . .
. . . . . . . . . . . . . . . . . . . . . . . 183The /etc/group
file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 186
11. Table of Contents xiAdding users: the basic steps. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .187Editing the passwd and group files . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 188Setting a password .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .188Creating the home directory and
installing startup files. . . . . . . . . . . . . . . . 189Setting
permissions and ownerships . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 190Setting a mail home . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 190Configuring roles and administrative privileges . . . . . .
. . . . . . . . . . . . . . . . 190Final steps. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 191Adding users with useradd . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 191useradd on Ubuntu . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 192useradd on SUSE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 193useradd on Red Hat . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 193useradd on Solaris . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .194useradd on
HP-UX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 194useradd on AIX . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 195useradd example. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197Adding
users in bulk with newusers (Linux) . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 197Removing users. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 198Disabling logins. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 200Managing users with system-specific tools . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 201Reducing risk
with PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 201Centralizing account
management . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 201LDAP and Active Directory . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Single
sign-on systems . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 202Identity management systems.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . .203Recommended reading . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .204Exercises.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 205CHAPTER 8
STORAGE 206I just want to add a disk! . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
207Linux recipe . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 207Solaris
recipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .208HP-UX recipe . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 208AIX recipe . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 209Storage hardware . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.209Hard disks . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 210Solid
state disks . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 212Storage hardware
interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 213The PATA interface . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 215The SATA interface . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 215Parallel
SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .216Serial SCSI . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 219Which is better, SCSI or SATA? . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219Peeling the onion: the software side of storage . . . . . . . .
. . . . . . . . . . . . . . . . . . . 220
12. xii UNIX and Linux System Administration HandbookAttachment
and low-level management of drives . . . . . . . . . . . . . . . .
. . . . . . . . . 223Installation verification at the hardware
level . . . . . . . . . . . . . . . . . . . . . . . . 223Disk
device files. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 224Disk devices for
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 224Disk devices for Solaris . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Disk
devices for HP-UX. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 225Disk devices for AIX. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
226Formatting and bad block management . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 226ATA secure erase . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 227hdparm: set disk and interface parameters (Linux) . .
. . . . . . . . . . . . . . . . . 229Hard disk monitoring with
SMART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 230Disk partitioning. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
231Traditional partitioning. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 233Windows-style
partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 234GPT: GUID partition tables . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
235Linux partitioning. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 236Solaris
partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 236HP-UX partitioning . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 237RAID: redundant arrays of inexpensive disks .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 237Software
vs. hardware RAID. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 237RAID levels . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 238Disk failure recovery . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
241Drawbacks of RAID 5 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 241mdadm: Linux
software RAID. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 242Logical volume management . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
246LVM implementations. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 246Linux logical volume
management . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 247Volume snapshots. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 249Resizing
filesystems . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 250HP-UX logical volume management. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251AIX
logical volume management. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 253Filesystems. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 254Linux filesystems: the ext family. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
255HP-UX filesystems: VxFS and HFS . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 256AIXs JFS2 . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 257Filesystem terminology . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
257Filesystem polymorphism . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 258mkfs: format
filesystems . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 258fsck: check and repair filesystems .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
259Filesystem mounting . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 260Setup for
automatic mounting . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 260USB drive mounting. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 263Enabling swapping . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 264
13. Table of Contents xiiiZFS: all your storage problems solved
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 264ZFS architecture . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 265Example:
Solaris disk addition . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 266Filesystems and properties . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 266Property inheritance. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 268One filesystem
per user . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 269Snapshots and clones . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 269Raw volumes . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.271Filesystem sharing filesystem through NFS, CIFS, and iSCSI . .
. . . . . . . . . 271Storage pool management . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
272Storage area networking . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 274SAN networks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 275iSCSI: SCSI over IP . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 276Booting from an iSCSI volume . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 277Vendor
specifics for iSCSI initiators . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 277Exercises. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 281CHAPTER 9 PERIODIC PROCESSES 283cron:
schedule commands. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 283The format of crontab
files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 284Crontab management . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 286Linux and Vixie-cron extensions . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 287Some
common uses for cron . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .288Simple reminders . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 288Filesystem cleanup . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.289Network distribution of configuration files . . . . . . . . . .
. . . . . . . . . . . . . . . . 290Log file rotation. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 290Exercises. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 291CHAPTER 10 BACKUPS 292Motherhood and apple pie . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 293Perform all backups from a central location. . . .
. . . . . . . . . . . . . . . . . . . . . . 293Label your media. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 293Pick a reasonable backup interval . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
294Choose filesystems carefully . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 294Make daily dumps fit
on one piece of media . . . . . . . . . . . . . . . . . . . . . . .
. . 294Keep media off-site. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 295Protect your
backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 295Limit activity during backups . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. .296Verify your media . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .297Develop a
media life cycle . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 297Design your data for backups . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. .298Prepare for the worst . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 298
14. xiv UNIX and Linux System Administration HandbookBackup
devices and media. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 299Optical media: CD-R/RW,
DVDR/RW, DVD-RAM, and Blu-ray . . . . . 299Portable and removable
hard disks . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 300Magnetic tapes in general . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 301Small tape
drives: 8mm and DDS/DAT . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 301DLT/S-DLT . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
301AIT and SAIT . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 302VXA/VXA-X . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 302LTO. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 302Jukeboxes, stackers, and tape libraries. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302Hard
disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 303Internet and cloud
backup services . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 303Summary of media types . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 304What to
buy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 304Saving space and time
with incremental backups . . . . . . . . . . . . . . . . . . . . .
. . . . 305A simple schedule . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306A
moderate schedule . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 307Setting up a backup
regime with dump . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 307Dumping filesystems . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
308Restoring from dumps with restore . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 310Restoring entire filesystems.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 313Restoring to new hardware . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 314Dumping and
restoring for upgrades . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 314Using other archiving programs . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 315tar: package files . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 315dd:
twiddle bits . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 316ZFS backups. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 316Using multiple files on a single
tape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 317Bacula . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 318The Bacula model . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 319Setting
up Bacula . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 320Installing the database
and Bacula daemons . . . . . . . . . . . . . . . . . . . . . . . .
. 320Configuring the Bacula daemons . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 321Common configuration
sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 322bacula-dir.conf: director configuration . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 324Catalog resources
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 324Storage resources . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
324Pool resources . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 325Schedule resources.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 325Client resources . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
325FileSet resources . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 326Job resources . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 326
15. Table of Contents xvbacula-sd.conf: storage daemon
configuration . . . . . . . . . . . . . . . . . . . . . . . 327The
Director resource . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 327The Storage resource . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.327Device resources . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 327Autochanger
resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 328bconsole.conf: console configuration . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 328Installing
and configuring the client file daemon . . . . . . . . . . . . . .
. . . . . . . 328Starting the Bacula daemons. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 329Adding
media to pools. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 329Running a manual backup. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 330Running a restore job. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 330Backing up
Windows clients. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 333Monitoring Bacula configurations . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
334Bacula tips and tricks . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 334Alternatives to
Bacula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 335Commercial backup products. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 335ADSM/TSM. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 336Veritas
NetBackup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .336EMC NetWorker. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 337Other alternatives . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.337Recommended reading . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .337Exercises. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 337CHAPTER 11 SYSLOG
AND LOG FILES 340Finding log files. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 341Files not to manage. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 342Vendor
specifics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 344Syslog: the system event
logger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 344Syslog architecture . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.345Configuring syslogd. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 345Config file
examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 349Stand-alone machine . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 349Network logging client. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 349Central logging host .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 350Syslog debugging. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
351Alternatives to syslog . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 351Linux kernel and
boot-time logging . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 352AIX logging and error handling . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
353Syslog configuration under AIX. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 355logrotate: manage log
files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 356Condensing log files to useful
information. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 358Logging policies . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
359Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
361
16. xvi UNIX and Linux System Administration HandbookCHAPTER 12
SOFTWARE INSTALLATION AND MANAGEMENT 362Installing Linux and
OpenSolaris. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 363Netbooting PCs. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 363Setting up PXE for Linux. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 364Netbooting
non-PCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 364Using Kickstart: the automated
installer for Red Hat Enterprise Linux. . . 365Setting up a
Kickstart configuration file . . . . . . . . . . . . . . . . . . .
. . . . . . 365Building a Kickstart server . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 366Pointing
Kickstart at your config file. . . . . . . . . . . . . . . . . . .
. . . . . . . . . 367Using AutoYaST: SUSEs automated installation
tool . . . . . . . . . . . . . . . . . 367Automating installation
with the Ubuntu installer . . . . . . . . . . . . . . . . . . . .
368Installing Solaris . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
370Network installations with JumpStart . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 371Network installations with the
Automated Installer . . . . . . . . . . . . . . . . . . .
375Installing HP-UX . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
377Automating Ignite-UX installations . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 379Installing AIX with the
Network Installation Manager . . . . . . . . . . . . . . . . . . .
. 380Managing packages . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 381Managing
Linux packages . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 382rpm: manage RPM packages.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 382dpkg: manage .deb packages in Ubuntu . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 383Using high-level Linux
package management systems. . . . . . . . . . . . . . . . . . . . .
384Package repositories . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 385RHN: the Red Hat
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 387APT: the Advanced Package Tool . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 387apt-get
configuration. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 388An example
/etc/apt/sources.list file . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 389Creation of a local repository mirror. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
390apt-get automation. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 391yum: release
management for RPM. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 391Zypper package management for SUSE: now with
more ZYpp!. . . . . . . . . 392Managing packages for UNIX . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 393Solaris packaging . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 394HP-UX
packaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 394Software management in
AIX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 396Revision control . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 397Backup file creation . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 397Formal
revision control systems. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 398Subversion . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 399Git . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 401Software localization and configuration . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 404Organizing
your localization. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 405Testing . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 406Compiling locally . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
407Distributing localizations . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 408
17. Table of Contents xviiUsing configuration management tools
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
408cfengine: computer immune system . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 408LCFG: a large-scale
configuration system. . . . . . . . . . . . . . . . . . . . . . . .
. . . . 409Template Tree 2: cfengine helper. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 410DMTF/CIM: the
Common Information Model . . . . . . . . . . . . . . . . . . . . .
. 410Sharing software over NFS . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 411Package
namespaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 411Dependency management . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 412Wrapper scripts. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
413Recommended reading . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .413Exercises. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 414CHAPTER 13 DRIVERS
AND THE KERNEL 415Kernel adaptation . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 416Drivers and device files . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .417Device
files and device numbers. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 418Device file creation . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 419Naming conventions for devices . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 420Custom kernels
versus loadable modules . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 420Linux kernel configuration . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
421Tuning Linux kernel parameters . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 421Building a Linux kernel . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 423If it aint broke, dont fix it. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
423Configuring kernel options . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 423Building the kernel
binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 425Adding a Linux device driver . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
425Solaris kernel configuration . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 427The Solaris
kernel area . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 427Configuring the kernel with
/etc/system . . . . . . . . . . . . . . . . . . . . . . . . . . .
.428Adding a Solaris device driver . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 430Debugging a Solaris
configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 430HP-UX kernel configuration . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.431Management of the AIX kernel . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 432The Object Data
Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 432Kernel tuning. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 434Loadable kernel modules. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 434Loadable
kernel modules in Linux . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 435Loadable kernel modules in Solaris . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
436Linux udev for fun and profit . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 437Linux sysfs: a
window into the souls of devices . . . . . . . . . . . . . . . . .
. . . . . . 438Exploring devices with udevadm . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 439Constructing
rules and persistent names . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 439Recommended reading . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.443Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
444
18. xviii UNIX and Linux System Administration HandbookSECTION
TWO: NETWORKINGCHAPTER 14 TCP/IP NETWORKING 447TCP/IP and its
relationship to the Internet . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 447Who runs the Internet? . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
448Network standards and documentation . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 449Networking road map . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 450IPv4 and IPv6 . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
451Packets and encapsulation. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 452Ethernet framing. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 453Maximum transfer unit . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
453Packet addressing . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
454Hardware (MAC) addressing . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 454IP addressing . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 455Hostname addressing . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
456Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
456Address types. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 456IP
addresses: the gory details . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 457IPv4 address classes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 457Subnetting . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 458Tricks and tools for subnet arithmetic . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 459CIDR: Classless
Inter-Domain Routing . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 460Address allocation . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
461Private addresses and network address translation (NAT) . . . .
. . . . . . . . . 462IPv6 addressing . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 464Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
465Routing tables . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 466ICMP
redirects . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 467ARP: the Address
Resolution Protocol . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 468DHCP: the Dynamic Host Configuration
Protocol . . . . . . . . . . . . . . . . . . . . . . . 469DHCP
software . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 470How DHCP works . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 470ISCs DHCP software . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
471Security issues . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472IP
forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 472ICMP redirects . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 473Source routing. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 473Broadcast pings and other directed broadcasts . . .
. . . . . . . . . . . . . . . . . . . . 473IP spoofing. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 473Host-based firewalls . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 474Virtual private networks . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 475PPP: the
Point-to-Point Protocol. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 476
19. Table of Contents xixBasic network configuration . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .476Hostname and IP address assignment. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 477ifconfig: configure
network interfaces . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 478Network hardware options . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 481route:
configure static routes . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 481DNS configuration . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .483System-specific network configuration . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 484Linux
networking . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 484NetworkManager .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 485Ubuntu network configuration. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
486SUSE network configuration. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 486Red Hat network
configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 487Linux network hardware options . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 489Linux
TCP/IP options . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 490Security-related kernel
variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 492Linux NAT and packet filtering . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 493Solaris
networking . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 494Solaris basic
network configuration. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 494Solaris configuration examples. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
496Solaris DHCP configuration . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 497ndd: TCP/IP and
interface tuning for Solaris. . . . . . . . . . . . . . . . . . . .
. . . . . 498Solaris security. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
499Solaris firewalls and filtering. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 499Solaris NAT . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 500Solaris networking quirks . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 501HP-UX networking . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501Basic
network configuration for HP-UX. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 501HP-UX configuration examples . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502HP-UX
DHCP configuration . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 504HP-UX dynamic reconfiguration and
tuning . . . . . . . . . . . . . . . . . . . . . . . . 504HP-UX
security, firewalls, filtering, and NAT . . . . . . . . . . . . . .
. . . . . . . . . . 505AIX networking . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 506no: manage AIX network tuning parameters . . . . . . . .
. . . . . . . . . . . . . . . . . 507Recommended reading . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .508Exercises. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 509CHAPTER 15 ROUTING 511Packet forwarding: a closer
look. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 512Routing daemons and routing protocols . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
515Distance-vector protocols . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 515Link-state protocols
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 516Cost metrics . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 517Interior and exterior protocols . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 517
20. xx UNIX and Linux System Administration HandbookProtocols
on parade . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 518RIP and RIPng: Routing
Information Protocol . . . . . . . . . . . . . . . . . . . . . . .
518OSPF: Open Shortest Path First . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 519EIGRP: Enhanced Interior
Gateway Routing Protocol. . . . . . . . . . . . . . . . . 519IS-IS:
the ISO standard. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 520Router Discovery Protocol and
Neighbor Discovery Protocol . . . . . . . . . . 520BGP: the Border
Gateway Protocol . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 520Routing strategy selection criteria . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
521Routing daemons . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 522routed:
obsolete RIP implementation . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 522gated: first-generation multiprotocol
routing daemon . . . . . . . . . . . . . . . . 523Quagga:
mainstream routing daemon. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 523ramd: multiprotocol routing system for
HP-UX. . . . . . . . . . . . . . . . . . . . . . 524XORP: router in
a box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 524Vendor specifics . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 525Cisco routers . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 525Recommended reading . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 528Exercises. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 530CHAPTER 16
NETWORK HARDWARE 531Ethernet: the Swiss Army knife of networking. .
. . . . . . . . . . . . . . . . . . . . . . . . . . 532How Ethernet
works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 532Ethernet topology . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 533Unshielded twisted pair cabling . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 534Optical fiber.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 536Connecting and expanding
Ethernets . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 537Hubs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 537Switches .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 538VLAN-capable switches. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
539Routers . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
539Autonegotiation . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 539Power over
Ethernet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 540Jumbo frames . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 541Wireless: ethernet for nomads . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
541Wireless security . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 543Wireless
switches and lightweight access points . . . . . . . . . . . . . .
. . . . . . . . 543DSL and cable modems: the last mile . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
543Network testing and debugging . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 544Building wiring .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 545UTP cabling options. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 545Connections to offices . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
546Wiring standards . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 546
21. Table of Contents xxiNetwork design issues . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 547Network architecture vs. building architecture . . .
. . . . . . . . . . . . . . . . . . . . 547Expansion. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 548Congestion. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 548Maintenance and documentation . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 549Management issues.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 549Recommended vendors . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 550Cables and connectors . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550Test
equipment . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 550Routers/switches . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 550Recommended reading . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . .550Exercises. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 551CHAPTER 17 DNS: THE DOMAIN NAME SYSTEM 552Who needs DNS? . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .554Managing your DNS. . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 554How DNS works . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
555Resource records. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 555Delegation . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 555Caching and efficiency . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 556Multiple answers. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
557DNS for the impatient . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 558Adding a
new machine to DNS . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 558Configuring a DNS client . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
561Name servers . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
563Authoritative and caching-only servers. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 563Recursive and nonrecursive
servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 565The DNS namespace . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
566Registering a second-level domain name . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 567Creating your own subdomains . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
567Designing your DNS environment . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 568Namespace management. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 568Authoritative servers . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
569Caching servers . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 569Hardware
requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .570Security. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 571Summing up . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.571Whats new in DNS . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 572The DNS
database . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 574Commands in zone
files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .574Resource records. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 576The SOA record . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 579NS records .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 581A records . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 582
22. xxii UNIX and Linux System Administration HandbookPTR
records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 582MX records . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 583CNAME records . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 585The CNAME hack . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 585SRV
records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 587TXT records. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 588IPv6 resource records. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 589IPv6 forward records AAAA . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 589IPv6 reverse records PTR . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
589SPF records . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 590DKIM and
ADSP records . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 591SSHFP resource records. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 594DNSSEC resource records. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 595Glue records: links
between zones . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 596The BIND software. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
597Version determination . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 598Components of BIND .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 600Configuration files . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
600The include statement . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 602The options
statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 602The acl statement . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 609The (TSIG) key statement. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 609The
trusted-keys statement . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 610The server statement . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 610The masters statement . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 611The
logging statement . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 612The statistics-channels
statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 612The zone statement . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
612Configuring the master server for a zone . . . . . . . . . . . .
. . . . . . . . . . . . 613Configuring a slave server for a zone. .
. . . . . . . . . . . . . . . . . . . . . . . . . . 614Setting up
the root server hints. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 614Setting up a forwarding zone . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 615The controls
statement for rndc . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 615Split DNS and the view statement . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617BIND
configuration examples . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 618The localhost zone . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 619A small security company . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620The
Internet Systems Consortium, isc.org . . . . . . . . . . . . . . .
. . . . . . . . . . . . 623The NSD/Unbound software . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
625Installing and configuring NSD . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 625Fundamental differences
from BIND . . . . . . . . . . . . . . . . . . . . . . . . . . .
626NSD configuration example . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 627NSD key definitions . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 628NSD global configuration options . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 629NSD zone-specific configuration
options . . . . . . . . . . . . . . . . . . . . . . . . 631
23. Table of Contents xxiiiRunning nsd . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .632Installing and configuring Unbound . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 632Updating zone
files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 638Zone transfers . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 639BIND dynamic updates . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
640Security issues . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
642Access control lists in BIND, revisited . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 643Open resolvers. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 644Running in a chrooted jail. . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
645Secure server-to-server communication with TSIG and TKEY . . . .
. . . . . 645Setting up TSIG for BIND . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 646TSIG in NSD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .648DNSSEC . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 648DNSSEC policy . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 652DNSSEC resource records. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 653Turning on DNSSEC .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 654Key pair generation . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
655Zone signing . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .657The DNSSEC
chain of trust. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 660DLV: domain lookaside validation . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
661DNSSEC key rollover . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 662DNSSEC tools . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 663ldns tools,
nlnetlabs.nl/projects/ldns . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 664Sparta tools, dnssec-tools.org . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 664RIPE tools,
ripe.net. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .665Vantages tools, vantage-points.org . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 665Debugging
DNSSEC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 665Microsoft and DNS. . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 667Testing and debugging. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.667Logging in BIND. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 667Channels. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 668Categories. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 669Log Messages . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .669Sample BIND
logging configuration . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 671Debug levels in BIND. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 672Logging in
NSD/Unbound . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 673Name server control programs . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
674Using BINDs rndc . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .674Using NSDs nsdc . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 675Using unbound-control . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .675Name server statistics.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 676Debugging with dig . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.677Lame delegations. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 678DNS sanity
checking tools. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 679Performance issues . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 680
24. xxiv UNIX and Linux System Administration HandbookVendor
specifics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 681Specifics for
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 681Specifics for Solaris. . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
LOAD MORE