Linux Bible

Linux Bible

4.27 (224 ratings by Goodreads)
By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 2 business days
When will my order arrive?


The industry favorite Linux guide, updated for Red Hat Enterprise Linux 7 and the cloud
Linux Bible, 9th Edition is the ultimate hands-on Linux user guide, whether you're a true beginner or a more advanced user navigating recent changes. This updated ninth edition covers the latest versions of Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21, and Ubuntu 14.04 LTS, and includes new information on cloud computing and development with guidance on Openstack and Cloudforms. With a focus on RHEL 7, this practical guide gets you up to speed quickly on the new enhancements for enterprise-quality file systems, the new boot process and services management, firewalld, and the GNOME 3 desktop. Written by a Red Hat expert, this book provides the clear explanations and step-by-step instructions that demystify Linux and bring the new features seamlessly into your workflow.
This useful guide assumes a base of little or no Linux knowledge, and takes you step by step through what you need to know to get the job done.
Get Linux up and running quicklyMaster basic operations and tackle more advanced tasksGet up to date on the recent changes to Linux server system managementBring Linux to the cloud using Openstack and Cloudforms
Linux Bible, 9th Edition is the one resource you need, and provides the hands-on training that gets you on track in a flash.
show more

Product details

  • Paperback | 912 pages
  • 185.42 x 233.68 x 43.18mm | 1,451.49g
  • John Wiley & Sons Inc
  • New York, United States
  • English
  • 9th Edition
  • 1118999878
  • 9781118999875
  • 88,659

About Christopher Negus

Christopher Negus has been teaching and writing about Linux and UNIX for more than 25 years. He is an instructor and principal technical writer for Red Hat, Inc., and the author of dozens of Linux and UNIX books, including Red Hat Linux Bible (all editions), CentOS Bible, Fedora Bible, Ubuntu Linux Toolbox, Linux Troubleshooting Bible, Linux Toys,and Linux Toys II.
show more

Back cover copy

The ultimate guide to mastering Linux

This fully updated 9th edition of Linux Bible gives beginners and intermediate users alike the knowledge and skills to take Linux to the next level. With an emphasis on command-line tools and a focus on the latest versions of Red Hat Enterprise Linux, Fedora, and Ubuntu, renowned Linux expert and bestselling author Christopher Negus guides you step-by-step through detailed demonstrations and exercises designed to provide you with a thorough understanding and working knowledge of the Linux operating system. Linux Bible, 9th Edition also provides exam prep materials for various Linux certifications.

Linux is at the heart of most technological advances in cloud computing and that means you need a solid understanding of Linux to work effectively in tomorrow's data centers. The Linux basics you learn early on in the book are applied in later chapters as the author demonstrates how to deploy Linux systems as hypervisors, cloud controllers, and virtual machines, as well as manage virtual networks and networked storage.

Linux Bible, 9th Edition shows you how to get and install Linux, begin using it, and ultimately excel at administering and securing it. This book is also an excellent resource for software developers who wish to use Linux as a developer workstation.

The Linux Bible, 9th Edition shows you how to: Get started with Linux Become a Linux power user Access a shell and write simple shell scripts Administer Linux systems and servers Secure Linux systems and networks Configure various servers and troubleshoot common problems Create Linux virtual machines that run on hypervisors and cloud platforms

Start with any Linux system and advance to enterprise Linux computing Use your favorite Linux distribution to learn and test your skills with Linux command-line tools Learn professional system administration tasks using Fedora, Red Hat Enterprise Linux 7, Ubuntu LTS, CentOS, or other enterprise-ready Linux systems. Deploy Linux to the cloud
show more

Table of 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 definition 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
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
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 find files by name 125
Searching for files with find 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 finding 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
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-confi g-â 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 Confi guring 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 x 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
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/yumconf 242
2 Checking /etc/sysconfi g/rhn/up2date (RHEL only) 242
3 Checking /etc/yumreposd/â repo files 243
4 Downloading RPM packages and metadata from a YUM repository 243
5 RPM packages installed to Linux fi le 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
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
Mounting Filesystems 301
Supported filesystems 301
Enabling swap areas 303
Disabling a swap area 304
Using the fstab file to define 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 rsyslogconf file 335
Understanding the messages log file 337
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 find 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
Learning systemd basics 392
Learning systemd s backward compatibility to SysVinit 397
Checking the Status of Services 399
Checking services for SysVinit systems 400
Checking services for Upstart systems 401
Checking services for systemd systems 402
Stopping and Starting Services 403
Stopping and starting SysVinit services 403
Stopping and starting Upstart services 405
Stopping and starting systemd services 406
Stopping a service with systemd 406
Starting a service with systemd 406
Restarting a service with systemd 407
Reloading a service with systemd 407
Enabling Persistent Services 408
Configuring persistent services for SysVinit 408
Configuring persistent services for Upstart 409
Configuring persistent services for systemd 410
Enabling a service with systemd 410
Disabling a service with systemd 411
Configuring a Default Runlevel or Target Unit 412
Configuring the SysVinit default runlevel 412
Configuring the default runlevel in Upstart 413
Configuring the default target unit for systemd 413
Adding New or Customized Services 414
Adding new services to SysVinit 414
Step 1: Create a new or customized service script file 415
Step 2: Add the service script to /etc/rcd/initd 416
Step 3: Add the service to runlevel directories 417
Adding new services to Upstart 417
Adding new services to systemd 419
Step 1: Create a new or customized service configuration unit file 419
Step 2: Move the service configuration unit file 420
Step 3: Add the service to the Wants directory 420
Summary 422
Exercises 422
Chapter 16: Configuring a Print Server r 423
Common UNIX Printing System 423
Setting Up Printers 425
Adding a printer automatically 425
Using web-based CUPS administration 426
Using the Print Settings window 428
Configuring local printers with the Print Settings window 429
Configuring remote printers 432
Adding a remote CUPS printer 433
Adding a remote UNIX (LDP/LPR) printer 433
Adding a Windows (SMB) printer 434
Working with CUPS Printing 435
Configuring the CUPS server (cupsdconf) 436
Starting the CUPS server 437
Configuring CUPS printer options manually 438
Using Printing Commands 439
Printing with lpr 440
Listing status with lpc 440
Removing print jobs with lprm 441
Configuring Print Servers 441
Configuring a shared CUPS printer 442
Configuring a shared Samba printer 443
Understanding smbconf for printing 444
Setting up SMB clients 445
Summary 446
Exercises 446
Chapter 17: Configuring a Web Server 449
Understanding the Apache Web Server 449
Getting and Installing Your Web Server 450
Understanding the httpd package 450
Installing Apache 453
Starting Apache 454
Securing Apache 455
Apache file permissions and ownership 455
Apache and iptables 455
Apache and SELinux 456
Understanding the Apache configuration files 457
Using directives 457
Understanding default settings 460
Adding a virtual host to Apache 462
Allowing users to publish their own web content 464
Securing your web traffic with SSL/TLS 465
Understanding how SSL is configured 467
Generating an SSL key and self-signed certificate 469
Generating a certificate signing request 470
Troubleshooting Your Web Server 471
Checking for configuration errors 472
Accessing forbidden and server internal errors 474
Summary 475
Exercises 475
Chapter 18: Configuring an FTP Server 477
Understanding FTP 477
Installing the vsftpd FTP Server 479
Starting the vsftpd Service 480
Securing Your FTP Server 483
Opening up your firewall for FTP 483
Allowing FTP access in TCP wrappers 486
Configuring SELinux for your FTP server 486
Relating Linux file permissions to vsftpd 488
Configuring Your FTP Server 488
Setting up user access 488
Allowing uploading 489
Setting up vsftpd for the Internet 491
Using FTP Clients to Connect to Your Server 492
Accessing an FTP server from Firefox 493
Accessing an FTP server with the lftp command 493
Using the gFTP client 495
Summary 496
Exercises 497
Chapter 19: Configuring a Windows File Sharing (Samba) Server r 499
Understanding Samba 499
Installing Samba 500
Starting and Stopping Samba 502
Starting the Samba (smb) service 503
Starting the NetBIOS (nmbd) name server 505
Stopping the Samba (smb) and NetBIOS (nmb) services 506
Securing Samba 506
Configuring firewalls for Samba 507
Configuring SELinux for Samba 508
Setting SELinux Booleans for Samba 508
Setting SELinux fi le contexts for Samba 510
Configuring Samba host/user permissions 510
Configuring Samba 511
Using system-config-samba 511
Choosing Samba server settings 511
Confi guring Samba user accounts 512
Creating a Samba shared folder 513
Checking the Samba share 514
Configuring Samba in the smbconf file 516
Configuring the [global] section 516
Configuring the [homes] section 518
Configuring the [printers] section 519
Creating custom shared directories 519
Accessing Samba Shares 521
Accessing Samba shares in Linux 522
Accessing Samba shares in Windows 524
Using Samba in the Enterprise 525
Summary 525
Exercises 526
Chapter 20: Configuring an NFS File Server r 527
Installing an NFS Server 529
Starting the NFS service 530
Sharing NFS Filesystems 531
Configuring the /etc/exports file 532
Hostnames in /etc/exports 533
Access options in /etc/exports 534
User mapping options in /etc/exports 534
Exporting the shared fi lesystems 535
Securing Your NFS Server 536
Opening up your firewall for NFS 537
Allowing NFS access in TCP wrappers 539
Confi guring SELinux for your NFS server 539
Using NFS Filesystems 540
Viewing NFS shares 540
Manually mounting an NFS filesystem 541
Mounting an NFS filesystem at boot time 542
Mounting noauto filesystems 543
Using mount options 543
Using autofs to mount NFS filesystems on demand 545
Automounting to the /net directory 546
Automounting home directories 547
Unmounting NFS filesystems 549
Summary 549
Exercises 550
Chapter 21: Troubleshooting Linux 551
Boot-Up Troubleshooting 551
Understanding Startup Methods 552
Starting with System V init scripts 552
Starting with systemd 553
Starting with Upstart 554
Starting from the firmware (BIOS or UEFI) 554
Troubleshooting BIOS setup 555
Troubleshooting boot order 556
Troubleshooting the GRUB boot loader 557
Starting the kernel 559
Troubleshooting the initialization system 560
Troubleshooting System V initialization 560
Troubleshooting rcsysinit 561
Troubleshooting runlevel processes 562
Troubleshooting systemd initialization 566
Troubleshooting Software Packages 568
Fixing RPM databases and cache 572
Troubleshooting Networking 573
Troubleshooting outgoing connections 573
View network interfaces 574
Check physical connections 574
Check routes 575
Check hostname resolution 576
Troubleshooting incoming connections 577
Check if the client can reach your system at all 577
Check if the service is available to the client 578
Check the firewall on the server 578
Check the service on the server 579
Troubleshooting Memory 580
Uncovering memory issues 581
Checking for memory problems 583
Dealing with memory problems 584
Troubleshooting in Rescue Mode 585
Summary 587
Exercises 587
Part V: Learning Linux Security Techniques 589
Chapter 22: Understanding Basic Linux Security 591
Understanding Security Basics 591
Implementing physical security 591
Implementing disaster recovery 592
Securing user accounts 593
One user per user account 593
Limit access to the root user account 594
Setting expiration dates on temporary accounts 594
Removing unused user accounts 595
Securing passwords 596
Choosing good passwords 597
Setting and changing passwords 598
Enforcing best password practices 599
Understanding the password files and password hashes 601
Securing the filesystem 603
Managing dangerous filesystem permissions 603
Securing the password files 604
Locking down the filesystem 606
Managing software and services 607
Updating software packages 607
Keeping up with security advisories 607
Advanced implementation 608
Monitoring Your Systems 608
Monitoring log files 608
Monitoring user accounts 612
Detecting counterfeit new accounts and privileges 612
Detecting bad account passwords 614
Monitoring the filesystem 615
Verifying software packages 615
Scanning the filesystem 616
Detecting viruses and rootkits 618
Auditing and Reviewing Linux 622
Conducting compliance reviews 623
Conducting security reviews 623
Summary 624
Exercises 624
Chapter 23: Understanding Advanced Linux Security 627
Implementing Linux Security with Cryptography 627
Understanding hashing 628
Understanding encryption/decryption 630
Understanding cryptographic ciphers 630
Understanding cryptographic cipher keys 631
Understanding digital signatures 637
Implementing Linux cryptography 639
Ensuring file integrity 639
Encrypting a Linux filesystem 640
Encrypting a Linux directory 642
Encrypting a Linux file 645
Encrypting Linux with miscellaneous tools 645
Using Encryption from the Desktop 646
Implementing Linux Security with PAM 648
Understanding the PAM authentication process 649
Understanding PAM contexts 650
Understanding PAM control flaags 651
Understanding PAM modules 652
Understanding PAM system event configuration files 653
Administering PAM on your Linux system 654
Managing PAM-aware application configuration files 654
Managing PAM system event confi guration files 655
Implementing resources limits with PAM 657
Implementing time restrictions with PAM 658
Enforcing good passwords with PAM 660
Encouraging sudo use with PAM 664
Locking accounts with PAM 665
Obtaining more information on PAM 667
Summary 668
Exercises 668
Chapter 24: Enhancing Linux Security with SELinux 669
Understanding SELinux Benefits 669
Understanding How SELinux Works 671
Understanding type enforcement 671
Understanding multi-level security 672
Implementing SELinux security models 673
Understanding SELinux operational modes 673
Understanding SELinux security contexts 674
Understanding SELinux policy types 677
Understanding SELinux policy rule packages 678
Configuring SELinux 679
Setting the SELinux mode 680
Setting the SELinux policy type 682
Managing SELinux security contexts 683
Managing the user security context 684
Managing the file security context 684
Managing the process security context 685
Managing SELinux policy rule packages 686
Managing SELinux via booleans 688
Monitoring and Troubleshooting SELinux 689
Understanding SELinux logging 689
Reviewing SELinux messages in the audit log 690
Reviewing SELinux messages in the messages log 690
Troubleshooting SELinux logging 691
Troubleshooting common SELinux problems 692
Using a nonstandard directory for a service 692
Using a nonstandard port for a service 693
Moving files and losing security context labels 693
Booleans set incorrectly 694
Putting It All Together 694
Obtaining More Information on SELinux 695
Summary 695
Exercises 696
Chapter 25: Securing Linux on a Network 699
Auditing Network Services 699
Evaluating access to network services with nmap 701
Using nmap to audit your network services advertisements 704
Controlling access to network services 708
Working with Firewalls 710
Understanding firewalls 710
Implementing firewalls 711
Starting with firewalld 712
Understanding the iptables utility 713
Using the iptables utility716
Summary 724
Exercises 724
Part VI: Extending Linux into the Cloud 727
Chapter 26: Using Linux for Cloud Computing 729
Overview of Linux and Cloud Computing 729
Cloud hypervisors (aka compute nodes) 730
Cloud controllers 730
Cloud storage 731
Cloud authentication 731
Cloud deployment and confi guration 732
Cloud platforms 732
Trying Basic Cloud Technology 732
Setting Up a Small Cloud 734
Configuring hypervisors 735
Step 1: Get Linux software 735
Step 2: Check your computers 735
Step 3: Install Linux on hypervisors 736
Step 4: Start services on the hypervisors 737
Step 5: Edit /etc/hosts or set up DNS 738
Configuring storage 738
Step 1: Install Linux software 738
Step 2: Configure NFS share 739
Step 3: Start the NFS service 739
Step 4: Mount the NFS share on the hypervisors 740
Creating virtual machines 740
Step 1: Get images to make virtual machines 741
Step 2: Check the network bridge 741
Step 3: Start Virtual Machine Manager (virt-manager) 741
Step 4: Check connection details 742
Step 5: Create a new virtual machine 743
Managing virtual machines 744
Migrating virtual machines 745
Step 1: Identify other hypervisors 745
Step 2: Migrate running VM to another hypervisor 746
Summary 747
Exercises 747
Chapter 27: Deploying Linux to the Cloud 749
Getting Linux to Run in a Cloud 749
Creating Linux Images for Clouds 751
Configuring and running a cloud-init cloud instance 751
Investigating the cloud instance 753
Cloning the cloud instance 754
Trying an Ubuntu cloud image 756
Expanding your cloud-init configuration 757
Adding ssh keys with cloud-init 757
Adding network interfaces with cloud-init 758
Adding software with cloud-init 758
Using cloud-init in enterprise computing 759
Using OpenStack to Deploy Cloud Images 760
Starting from the OpenStack Dashboard 761
Configuring your OpenStack virtual network 761
Configuring keys for remote access 763
Launching a virtual machine in OpenStack 764
Accessing the virtual machine via ssh 765
Using Amazon EC2 to Deploy Cloud Images 765
Summary 766
Part VII: Appendixes 769
Appendix A: Media 771
Appendix B: Exercise Answers 781
Index 839
show more

Rating details

224 ratings
4.27 out of 5 stars
5 51% (114)
4 33% (73)
3 12% (26)
2 3% (7)
1 2% (4)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X