Tải bản đầy đủ (.pdf) (914 trang)

IT training linux bible 9th ed (2015)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (26.84 MB, 914 trang )



ffi rs.indd 04/02/2015 Page i

Linux®

Bible
Ninth Edition



ffi rs.indd 04/02/2015 Page iii

Linux®

BIBLE
Ninth Edition

Christopher Negus


ffi rs.indd 04/02/2015 Page iv

Linux® Bible, Ninth Edition
Published by
John Wiley & Sons, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2015 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada


ISBN: 978-1-118-99987-5
ISBN: 978-1-118-99989-9 (ebk)
ISBN: 978-1-118-99988-2 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under
Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the
Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center,
222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for
permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street,
Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at />permissions.
LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS
OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK AND
SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A
PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS.
THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS
SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING,
OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A COMPETENT
PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL BE LIABLE FOR
DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEB SITE IS REFERRED TO IN THIS WORK
AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR
THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR
RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN
THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS
READ.
For general information on our other products and services please contact our Customer Care Department within
the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included
with standard print versions of this book may not be included in e-books or in print-on-demand. If this book

refers to media such as a CD or DVD that is not included in the version you purchased, you may download this
material at . For more information about Wiley products, visit
www.wiley.com.
Library of Congress Control Number: 2015937667
Trademarks: Wiley and the Wiley logo are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or
its affiliates, in the United States and other countries, and may not be used without written permission. Linux is
a registered trademark of Linus Torvalds. All other trademarks are the property of their respective owners. John
Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book.


ffi rs.indd 04/02/2015 Page v

As always, I dedicate this book to my wife, Sheree.


ffi rs.indd 04/02/2015 Page vi


ffi rs.indd 04/02/2015 Page vii

About the Author
Chris Negus is a Red Hat Certified Instructor (RHCI), Red Hat Certified Examiner (RHCX),
Red Hat Certified Architect (RHCA), and Principal Technical Writer for Red Hat Inc. In more
than six years with Red Hat, Chris has taught hundreds of IT professionals aspiring to
become Red Hat Certified Engineers (RHCE).
In his current position at Red Hat, Chris produces articles for the Red Hat Customer Portal.
The projects he works on include Red Hat Enterprise Linux 7, Red Hat Enterprise OpenStack
Platform, Red Hat Enterprise Virtualization and Linux containers in Docker format.
Besides his RHCA certification, Chris is a Red Hat Certified Virtualization Administrator
(RHCVA) and Red Hat Certified Datacenter Specialist (RHCDS). He also has certificates of

expertise in Deployment and Systems Management, Clustering and Storage Management,
Cloud Storage, and Server Hardening.
Before joining Red Hat, Chris wrote or co-wrote dozens of books on Linux and UNIX, including Red Hat Linux Bible (all editions), CentOS Bible, Fedora Bible, Linux Troubleshooting Bible,
Linux Toys and Linux Toys II. Chris also co-authored several books for the Linux Toolbox
series for power users: Fedora Linux Toolbox, SUSE Linux Toolbox, Ubuntu Linux Toolbox, Mac
OS X Toolbox, and BSD UNIX Toolbox.
For eight years Chris worked with the organization at AT&T that developed UNIX before
moving to Utah to help contribute to Novell’s UnixWare project in the early 1990s. When
not writing about Linux, Chris enjoys playing soccer and just hanging out with his wife,
Sheree, and son, Seth.

About the Technical Editor
Richard Blum, LPIC-1, has worked in the IT industry for more than 20 years as both a
systems and network administrator and has published numerous Linux and open source
books. He has administered UNIX, Linux, Novell, and Microsoft servers, as well as helped
design and maintain a 3,500-user network utilizing Cisco switches and routers. He has used
Linux servers and shell scripts to perform automated network monitoring and has written
shell scripts in most of the common Linux shell environments. Rich is an online instructor for an Introduction to Linux course that is used by colleges and universities across the
United States. When he isn’t being a computer nerd, Rich plays electric bass in a couple of
different church worship bands, and enjoys spending time with his wife, Barbara, and two
daughters, Katie Jane and Jessica.



ffi rs.indd 04/02/2015 Page ix

Credits
Project Editor
Martin V. Minner
Technical Editor

Richard Blum
Production Manager
Kathleen Wisor
Copy Editor
Gwenette Gaddis
Manager of Content
Development & Assembly
Mary Beth Wakefield

Professional Technology & Strategy
Director
Barry Pruett
Business Manager
Amy Knies
Associate Publisher
Jim Minatel
Project Coordinator, Cover
Brent Savage
Proofreader
Amy Schneider

Marketing Director
David Mayhew

Indexer
John Sleeva

Marketing Manager
Carrie Sherrill


Cover Designer
Wiley



ffi rs.indd 04/02/2015 Page xi

Acknowledgments

S

ince I was hired by Red Hat Inc. more than six years ago, I have been exposed to
many of the best Linux developers, testers, support professionals and instructors in
the world. Since I can’t thank everyone individually, I instead salute the culture of
cooperation and excellence that serves to improve my own Linux skills every day.
I don’t speak well of Red Hat because I work there; I work at Red Hat because it lives up
to the ideals of open source software in ways that match my own beliefs. There are a few
people at Red Hat I would like to acknowledge particularly. Discussions with Victor Costea,
Andrew Blum, and other Red Hat instructors have helped me adapt my ways of thinking
about how people learn Linux. I’m able to work across a wide range of technologies because
of the great support I get from my supervisor, Adam Strong, and my senior manager, Sam
Knuth, who both point me toward cool projects but never hold me back.
In this edition, particular help came from Ryan Sawhill Aroha, who helped me simplify my
writing on encryption technology. For the new content I wrote in this book on Linux cloud
technologies, I’d like to thank members of OpenStack, Docker, and RHEV teams, who help
me learn cutting-edge cloud technology every day.
As for the people at Wiley, thanks for letting me continue to develop and improve this book
over the years. Marty Minner has helped keep me on task through a demanding schedule.
Mary Beth Wakefield and Ken Brown have been there to remind me at the times I forgot it
was a demanding schedule. Thanks to Richard Blum for his reliably thorough job of tech

editing. Thanks to Margot Maley Hutchison from Waterside Productions for contracting the
book for me with Wiley and always looking out for my best interests.
Finally, thanks to my wife, Sheree, for sharing her life with me and doing such a great job
raising Seth and Caleb.

xi



ffi rs.indd 04/02/2015 Page xiii

Contents at a Glance
Acknowledgments ........................................................................................................ xi
Introduction .......................................................................................................... xxxiii

Part I: Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1: Starting with Linux ....................................................................................... 3
Chapter 2: Creating the Perfect Linux Desktop ............................................................... 29

Part II: Becoming a Linux Power User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Chapter 3: Using the Shell ............................................................................................ 65
Chapter 4: Moving around the Filesystem ...................................................................... 97
Chapter 5: Working with Text Files ............................................................................... 117
Chapter 6: Managing Running Processes .......................................................................137
Chapter 7: Writing Simple Shell Scripts.........................................................................153

Part III: Becoming a Linux System Administrator . . . . . . . . . . . . . . . . . . . . 171
Chapter 8: Learning System Administration .................................................................173
Chapter 9: Installing Linux .........................................................................................201
Chapter 10: Getting and Managing Software ................................................................233

Chapter 11: Managing User Accounts ...........................................................................259
Chapter 12: Managing Disks and Filesystems ................................................................283

Part IV: Becoming a Linux Server Administrator . . . . . . . . . . . . . . . . . . . . 313
Chapter 13:
Chapter 14:
Chapter 15:
Chapter 16:
Chapter 17:
Chapter 18:
Chapter 19:
Chapter 20:
Chapter 21:

Understanding Server Administration ........................................................315
Administering Networking ........................................................................347
Starting and Stopping Services..................................................................377
Configuring a Print Server.........................................................................423
Configuring a Web Server ..........................................................................449
Configuring an FTP Server .........................................................................477
Configuring a Windows File Sharing (Samba) Server ....................................499
Configuring an NFS File Server ..................................................................527
Troubleshooting Linux .............................................................................. 551

Part V: Learning Linux Security Techniques . . . . . . . . . . . . . . . . . . . . . . . . 589
Chapter 22:
Chapter 23:
Chapter 24:
Chapter 25:


Understanding Basic Linux Security ..........................................................591
Understanding Advanced Linux Security ....................................................627
Enhancing Linux Security with SELinux ....................................................669
Securing Linux on a Network.....................................................................699

xiii


ffi rs.indd 04/02/2015 Page xiv

Part VI: Extending Linux into the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
Chapter 26: Using Linux for Cloud Computing...............................................................729
Chapter 27: Deploying Linux to the Cloud .................................................................... 749

Part VII: Appendixes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Appendix A: Media.....................................................................................................771
Appendix B: Exercise Answers.....................................................................................781
Index ........................................................................................................................839

xiv


ftoc.indd 04/02/2015 Page xv

Contents
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii

Part I: Getting Started


1

Chapter 1: Starting with Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Understanding What Linux Is ................................................................................ 4
Understanding How Linux Differs from Other Operating Systems .............................. 6
Exploring Linux History ........................................................................................ 6
Free-flowing UNIX culture at Bell Labs ........................................................... 7
Commercialized UNIX ................................................................................... 9
Berkeley Software Distribution arrives .................................................. 9
UNIX Laboratory and commercialization .............................................. 10
GNU transitions UNIX to freedom .................................................................11
BSD loses some steam ................................................................................. 13
Linus builds the missing piece .................................................................... 13
OSI open source defi nition .......................................................................... 14
Understanding How Linux Distributions Emerged .................................................. 16
Choosing a Red Hat distribution .................................................................. 17
Using Red Hat Enterprise Linux .......................................................... 17
Using Fedora...................................................................................... 18
Choosing Ubuntu or another Debian distribution .......................................... 19
Finding Professional Opportunities with Linux Today ............................................ 20
Understanding how companies make money with Linux ................................ 21
Becoming Red Hat certified ......................................................................... 22
RHCSA topics ..................................................................................... 23
RHCE topics ....................................................................................... 24
Summary............................................................................................................ 26

Chapter 2: Creating the Perfect Linux Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Understanding Linux Desktop Technology ............................................................ 30
Starting with the Fedora GNOME Desktop
Live image ..................................................................................................... 32

Using the GNOME 3 Desktop ................................................................................. 33
After the computer boots up ....................................................................... 33
Navigating with the mouse ................................................................. 34

xv


ftoc.indd 04/02/2015 Page xvi

Contents

Navigating with the keyboard ............................................................. 38
Setting up the GNOME 3 desktop ...................................................................41
Extending the GNOME 3 desktop .................................................................. 42
Using GNOME shell extensions ............................................................. 42
Using the GNOME Tweak Tool............................................................... 44
Starting with desktop applications .............................................................. 45
Managing files and folders with Nautilus ............................................. 45
Installing and managing additional software ....................................... 46
Playing music with Rhythmbox .......................................................... 48
Stopping the GNOME 3 desktop .................................................................... 49
Using the GNOME 2 Desktop ................................................................................. 49
Using the Metacity window manager ............................................................ 50
Changing GNOME’s appearance ..................................................................... 52
Using the GNOME panels.............................................................................. 53
Using the Applications and System menus ........................................... 54
Adding an applet ............................................................................... 54
Adding another panel ........................................................................ 55
Adding an application launcher .......................................................... 55
Adding a drawer ................................................................................ 56

Changing panel properties .................................................................. 57
Adding 3D effects with AIGLX ..................................................................... 58
Summary............................................................................................................ 60
Exercises .............................................................................................................61

Part II: Becoming a Linux Power User

63

Chapter 3: Using the Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
About Shells and Terminal Windows ..................................................................... 66
Using the shell prompt ................................................................................ 67
Using a terminal window ............................................................................ 68
Using virtual consoles ................................................................................ 69
Choosing Your Shell............................................................................................. 69
Running Commands ............................................................................................ 70
Understanding command syntax.................................................................. 71
Locating commands .....................................................................................74
Recalling Commands Using Command History.........................................................76
Command-line editing ................................................................................ 77
Command-line completion ........................................................................... 79
Command-line recall ................................................................................... 80
Connecting and Expanding Commands.................................................................. 82
Piping between commands .......................................................................... 82
Sequential commands ................................................................................. 83
Background commands ............................................................................... 83
Expanding commands ................................................................................. 84

xvi



ftoc.indd 04/02/2015 Page xvii

Contents

Expanding arithmetic expressions ............................................................... 84
Expanding variables ................................................................................... 85
Using Shell Variables ........................................................................................... 85
Creating and using aliases........................................................................... 87
Exiting the shell......................................................................................... 88
Creating Your Shell Environment .......................................................................... 88
Configuring your shell ................................................................................ 88
Setting your prompt ................................................................................... 89
Adding environment variables ..................................................................... 91
Getting Information about Commands .................................................................. 92
Summary............................................................................................................ 94
Exercises ............................................................................................................ 95

Chapter 4: Moving around the Filesystem  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Using Basic Filesystem Commands .......................................................................100
Using Metacharacters and Operators ....................................................................102
Using file-matching metacharacters ............................................................102
Using file-redirection metacharacters .........................................................103
Using brace expansion characters ...............................................................105
Listing Files and Directories ...............................................................................105
Understanding File Permissions and Ownership ....................................................109
Changing permissions with chmod (numbers) .............................................. 111
Changing permissions with chmod (letters) ................................................. 111
Setting default file permission with umask .................................................112
Changing file ownership.............................................................................113

Moving, Copying, and Removing Files .................................................................. 114
Summary...........................................................................................................115
Exercises ...........................................................................................................115

Chapter 5: Working with Text Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Editing Files with vim and vi .............................................................................. 117
Starting with vi ........................................................................................ 119
Adding text ...................................................................................... 119
Moving around in the text .................................................................120
Deleting, copying, and changing text .................................................121
Pasting (putting) text .......................................................................122
Repeating commands ........................................................................122
Exiting vi .........................................................................................122
Skipping around in the file ........................................................................123
Searching for text .....................................................................................124
Using ex mode...........................................................................................124
Learning more about vi and vim .................................................................124
Finding Files......................................................................................................125
Using locate to fi nd files by name ...............................................................125

xvii


ftoc.indd 04/02/2015 Page xviii

Contents

Searching for files with fi nd .......................................................................127
Finding files by name ........................................................................127
Finding files by size ..........................................................................128

Finding files by user..........................................................................128
Finding files by permission ................................................................129
Finding files by date and time ...........................................................130
Using ‘not’ and ‘or’ when fi nding files .................................................131
Finding files and executing commands ...............................................131
Searching in files with grep........................................................................132
Summary...........................................................................................................134
Exercises ...........................................................................................................134

Chapter 6: Managing Running Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Understanding Processes ....................................................................................137
Listing Processes ...............................................................................................138
Listing processes with ps ...........................................................................138
Listing and changing processes with top .....................................................140
Listing processes with System Monitor ........................................................142
Managing Background and Foreground Processes ..................................................144
Starting background processes ...................................................................144
Using foreground and background commands ..............................................145
Killing and Renicing Processes ............................................................................146
Killing processes with kill and killall ..........................................................146
Using kill to signal processes by PID ................................................... 147
Using killall to signal processes by name ............................................148
Setting processor priority with nice and renice ...........................................148
Limiting Processes with cgroups..........................................................................149
Summary........................................................................................................... 151
Exercises ........................................................................................................... 151

Chapter 7: Writing Simple Shell Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Understanding Shell Scripts ................................................................................153
Executing and debugging shell scripts ........................................................154

Understanding shell variables ....................................................................154
Special shell positional parameters .....................................................156
Reading in parameters ......................................................................157
Parameter expansion in bash .............................................................157
Performing arithmetic in shell scripts .........................................................158
Using programming constructs in shell scripts.............................................159
The “if…then” statements .................................................................159
The case command ............................................................................162
The “for…do” loop ............................................................................163
The “while…do” and “until…do” loops ...............................................164
Trying some useful text manipulation programs ..........................................164
The general regular expression parser .................................................165

xviii


ftoc.indd 04/02/2015 Page xix

Contents

Remove sections of lines of text (cut) .................................................165
Translate or delete characters (tr) ......................................................165
The stream editor (sed) .....................................................................166
Using simple shell scripts ...........................................................................167
Telephone list ...................................................................................167
Backup script ...................................................................................168
Summary...........................................................................................................168
Exercises ...........................................................................................................169

Part III: Becoming a Linux System Administrator


171

Chapter 8: Learning System Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Understanding System Administration ................................................................173
Using Graphical Administration Tools .................................................................. 175
Using system-config-* tools........................................................................ 175
Using browser-based admin tools ................................................................177
Using the root user account ................................................................................177
Becoming root from the shell (su command) ................................................178
Allowing administrative access via the GUI .................................................180
Gaining administrative access with sudo .....................................................180
Exploring Administrative Commands, Configuration Files, and Log Files ................182
Administrative commands .........................................................................182
Administrative configuration files ..............................................................183
Administrative log files and systemd journal ...............................................188
Using journalctl to view the systemd journal ......................................188
Managing log messages with rsyslogd .................................................189
Using Other Administrative Accounts ..................................................................189
Checking and Configuring Hardware ....................................................................190
Checking your hardware ............................................................................191
Managing removable hardware ...................................................................194
Working with loadable modules ..................................................................197
Listing loaded modules ......................................................................197
Loading modules ...............................................................................198
Removing modules ............................................................................198
Summary...........................................................................................................199
Exercises ...........................................................................................................199

Chapter 9: Installing Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

Choosing a Computer ..........................................................................................202
Installing Fedora from Live media .......................................................................203
Installing Red Hat Enterprise Linux from
Installation Media .........................................................................................208
Understanding Cloud-Based Installations .............................................................211
Installing Linux in the Enterprise .......................................................................211

xix


ftoc.indd 04/02/2015 Page xx

Contents

Exploring Common Installation Topics .................................................................213
Upgrading or installing from scratch...........................................................213
Dual booting .............................................................................................214
Installing Linux to run virtually ................................................................216
Using installation boot options ..................................................................216
Boot options for disabling features ....................................................217
Boot options for video problems .........................................................217
Boot options for special installation types ..........................................218
Boot options for kickstarts and remote repositories .............................218
Miscellaneous boot options ................................................................219
Using specialized storage ...........................................................................219
Partitioning hard drives ............................................................................220
Understanding different partition types .............................................221
Reasons for different partitioning schemes .........................................222
Tips for creating partitions ................................................................222
Using the GRUB boot loader........................................................................224

Using GRUB Legacy (version 1) ...........................................................225
Using GRUB 2 ...................................................................................229
Summary...........................................................................................................231
Exercises ...........................................................................................................231

Chapter 10: Getting and Managing Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Managing Software on the Desktop .....................................................................233
Going Beyond the Software Window ....................................................................235
Understanding Linux RPM and DEB Software Packaging ........................................236
Understanding DEB packaging ....................................................................237
Understanding RPM packaging ...................................................................238
What is in an RPM? ...........................................................................238
Where do RPMs come from? ................................................................239
Installing RPMs ................................................................................239
Managing RPM Packages with YUM ......................................................................240
Understanding how yum works ................................................................... 241
1. Checking /etc/yum.conf ................................................................242
2. Checking /etc/sysconfig/rhn/up2date (RHEL only) ..........................242
3. Checking /etc/yum.repos.d/*.repo files ...........................................243
4. Downloading RPM packages and metadata from a YUM repository .....243
5. RPM packages installed to Linux file system ....................................244
6. Store YUM repository metadata to local RPM database ......................244
Using YUM with third-party software repositories........................................244
Managing software with the YUM command ................................................245
Searching for packages ......................................................................246
Installing and removing packages ......................................................247
Updating packages ............................................................................249
Updating groups of packages .............................................................250

xx



ftoc.indd 04/02/2015 Page xxi

Contents

Maintaining your RPM package database and cache ............................. 251
Downloading RPMs from a yum repository ..........................................252
Installing, Querying, and Verifying Software
with the rpm Command ..................................................................................252
Installing and removing packages with rpm ................................................253
Querying rpm information .........................................................................254
Verifying RPM packages .............................................................................255
Managing Software in the Enterprise...................................................................256
Summary...........................................................................................................257
Exercises ...........................................................................................................258

Chapter 11: Managing User Accounts  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Creating User Accounts.......................................................................................259
Adding users with useradd .........................................................................262
Setting user defaults .................................................................................265
Modifying users with usermod ...................................................................266
Deleting users with userdel ........................................................................268
Understanding Group Accounts ...........................................................................268
Using group accounts.................................................................................269
Creating group accounts.............................................................................270
Managing Users in the Enterprise ........................................................................270
Setting permissions with Access Control Lists .............................................271
Setting ACLs with setfacl ..................................................................272
Setting default ACLs .........................................................................273

Enabling ACLs................................................................................... 274
Adding directories for users to collaborate ..................................................276
Creating group collaboration directories (set GID bit) ...........................276
Creating restricted deletion directories (sticky bit) .............................278
Centralizing User Accounts .................................................................................278
Using the Users window .............................................................................279
Using the Authentication Configuration window ..........................................279
Summary...........................................................................................................281
Exercises ...........................................................................................................281

Chapter 12: Managing Disks and Filesystems  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Understanding Disk Storage ................................................................................283
Partitioning Hard Disks ......................................................................................285
Understanding partition tables...................................................................286
Viewing disk partitions..............................................................................286
Creating a single-partition disk ..................................................................288
Creating a multiple-partition disk...............................................................292
Using Logical Volume Management Partitions.......................................................295
Checking an existing LVM ..........................................................................296
Creating LVM logical volumes .....................................................................299
Growing LVM logical volumes ......................................................................300

xxi


ftoc.indd 04/02/2015 Page xxii

Contents

Mounting Filesystems.........................................................................................301

Supported filesystems ................................................................................301
Enabling swap areas ..................................................................................303
Disabling a swap area ................................................................................304
Using the fstab file to defi ne mountable file systems....................................305
Using the mount command to mount file systems ........................................307
Mounting a disk image in loopback .............................................................308
Using the umount command .......................................................................309
Using the mkfs Command to Create a Filesystem ..................................................310
Summary........................................................................................................... 311
Exercises ........................................................................................................... 311

Part IV: Becoming a Linux Server Administrator

313

CHAPTER 13: Understanding Server Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Starting with Server Administration ...................................................................316
Step 1: Install the server............................................................................316
Step 2: Configure the server .......................................................................318
Using configuration files ...................................................................318
Checking the default configuration ....................................................319
Step 3: Start the server ..............................................................................319
Step 4: Secure the server............................................................................321
Password protection ..........................................................................321
Firewalls ..........................................................................................321
TCP Wrappers ....................................................................................322
SELinux ...........................................................................................322
Security settings in configuration files ...............................................322
Step 5: Monitor the server ..........................................................................322
Configure logging..............................................................................322

Run system activity reports ...............................................................323
Keep system software up to date ........................................................323
Check the filesystem for signs of crackers ...........................................323
Managing Remote Access with the Secure Shell Service ........................................323
Starting the openssh-server service ............................................................324
Using SSH client tools ................................................................................326
Using ssh for remote login .................................................................326
Using ssh for remote execution ..........................................................328
Copying files between systems with scp and rsync ..............................329
Interactive copying with sftp ............................................................332
Using key-based (passwordless) authentication............................................332
Configuring System Logging ...............................................................................334
Enabling system logging with rsyslog .........................................................334
Understanding the rsyslog.conf file ....................................................335
Understanding the messages log file ...................................................337

xxii


ftoc.indd 04/02/2015 Page xxiii

Contents

Setting up and using a loghost with rsyslogd ......................................337
Watching logs with logwatch ......................................................................339
Checking System Resources with sar....................................................................340
Checking System Space.......................................................................................341
Displaying system space with df .................................................................342
Checking disk usage with du ......................................................................342
Finding disk consumption with fi nd ...........................................................343

Managing Servers in the Enterprise .....................................................................344
Summary...........................................................................................................344
Exercises ...........................................................................................................345

Chapter 14: Administering Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Configuring Networking for Desktops...................................................................348
Checking your network interfaces...............................................................350
Checking your network from NetworkManager ....................................350
Checking your network from the command line ..................................352
Configuring network interfaces ..................................................................355
Setting IP addresses manually ...........................................................355
Setting IP address aliases ..................................................................356
Setting routes ..................................................................................357
Configuring a network proxy connection .....................................................358
Configuring Networking from the Command Line ..................................................360
Editing a connection .................................................................................360
Understanding networking configuration files .............................................362
Network interface files ......................................................................363
Other networking files.......................................................................365
Setting alias network interfaces .................................................................367
Setting up Ethernet channel bonding .........................................................368
Setting custom routes ................................................................................370
Configuring Networking in the Enterprise ............................................................371
Configuring Linux as a router .....................................................................371
Configuring Linux as a DHCP server ............................................................372
Configuring Linux as a DNS server ..............................................................372
Configuring Linux as a proxy server ............................................................373
Summary........................................................................................................... 374
Exercises ........................................................................................................... 374


Chapter 15: Starting and Stopping Services  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Understanding the Initialization Daemon (init or systemd) ...................................378
Understanding the classic init daemons ......................................................380
Understanding the Upstart init daemon ......................................................386
Learning Upstart init daemon basics ..................................................386
Learning Upstart’s backward compatibility to SysVinit ........................388
Understanding systemd initialization .........................................................392

xxiii


×