Part I Geting Familiar with Red Hat Enterprise Linux
Chapter 1 Geting Started with Red Hat Enterprise Linux
Linux, Open Source, and Red Hat
Origins of Linux
Distributions
Fedora
Red Hat Enterprise Linux and Related Products
Red Hat Enterprise Linux Server Edition
Red Hat Enterprise Linux Workstation Edition
Red Hat Add-Ons
Red Hat Directory Server
Red Hat Enterprise Virtualization
JBoss Enterprise Middleware
Red Hat Cloud
Installing Red Hat Enterprise Linux Server
Exploring the GNOME User Interface
Exploring the Applications Menu
Exploring the Places Menu
Exploring the System Menu
Summary
Chapter 2 Finding Your Way on the Command Line
Working with the Bash Shell
Getting the Best of Bash
Useful Bash Key Sequences
Working with Bash History
Performing Basic File System Management Tasks
Working with Directories
Working with Files
Piping and Redirection
Piping
Redirection
Finding Files
Working with an Editor
Vi Modes
Saving and Quitting
Cut, Copy, and Paste
Deleting Text
Replacing Text
Using sed for the Replacement of Text
Getting Help
Using man to Get Help
Using the --help Option
Getting Information on Installed Packages
Part II Administering Red Hat Enterprise Linux
Chapter 3 Performing Daily System Administration Tasks
Performing Job Management Tasks
System and Process Monitoring and Management
Managing Processes with ps
Sending Signals to Processes with the kill Command
Using top to Show Current System Activity
Managing Process Niceness
Scheduling Jobs
Mounting Devices
Working with Links
Creating Backups
Managing Printers
Setting Up System Logging
Setting Up Rsyslog
Common Log Files
Setting Up Logrotate
Chapter 4 Managing Software
Understanding RPM
Understanding Meta Package Handlers
Creating Your Own Repositories
Managing Repositories
RHN and Satellite
Installing Software with Yum
Querying Software
Extracting Files from RPM Packages
Chapter 5 Configuring and Managing Storage
Understanding Partitions and Logical Volumes
Creating Partitions
Creating File Systems
File Systems Overview
Creating File Systems
Changing File System Properties
Checking the File System Integrity
Mounting File Systems Automatically Through fstab
Working with Logical Volumes
Creating Logical Volumes
Resizing Logical Volumes
Working with Snapshots
Replacing Failing Storage Devices
Creating Swap Space
Working with Encrypted Volumes
Chapter 6 Connecting to the Network
Understanding NetworkManager
Working with Services and Runlevels
Configuring the Network with NetworkManager
Working with system-config-network
Understanding NetworkManager Configuration Files
Understanding Network Service Scripts
Configuring Networking from the Command Line
Troubleshooting Networking
Setting Up IPv6
Configuring SSH
Enabling the SSH Server
Using the SSH Client
Using Putty on Windows Machines
Configuring Key-Based SSH Authentication
Using Graphical Applications with SSH
Using SSH Port Forwarding
Configuring VNC Server Access
Part III Securing Red Hat Enterprise Linux
Chapter 7 Working with Users, Groups, and Permissions
Managing Users and Groups
Commands for User Management
Managing Passwords
Modifying and Deleting User Accounts
Behind the Commands: Configuration Files
Creating Groups
Using Graphical Tools for User
and Group Management
Using External Authentication Sources
Understanding the Authentication Process
Understanding sssd
Understanding nsswitch
Understanding Pluggable Authentication Modules
Managing Permissions
Understanding the Role of Ownership
Basic Permissions: Read, Write, and Execute
Advanced Permissions
Working with Access Control Lists
Setting Default Permissions with umask
Working with Attributes
Chapter 8 Understanding and Configuring SELinux
Understanding SELinux
What Is SELinux?
Understanding the Type Context
Selecting the SELinux Mode
Working with SELinux Context Types
Configuring SELinux Policies
Working with SELinux Modules
Setting Up SELinux with system-config-selinux
Troubleshooting SELinux
Chapter 9 Working with KVM Virtualization
Understanding the KVM Virtualization Architecture
Red Hat KVM Virtualization
Red Hat Enterprise Virtualization
Preparing Your Host for KVM Virtualization
Installing a KVM Virtual Machine
Managing KVM Virtual Machines
Managing Virtual Machines with Virtual
Machine Manager
Managing Virtual Machines from the
virsh Interface
Understanding KVM Networking
Chapter 10 Securing Your Server with iptables
Understanding Firewalls
Setting Up a Firewall with system-config-firewall
Allowing Services
Trusted Interfaces
Masquerading
Configuration Files
Setting Up a Firewall with iptables
Understanding Tables, Chains, and Rules
Understanding How a Rule Is Composed
Configuration Example
Advanced iptables Configuration
Configuring Logging
The Limit Module
Configuring NAT
Chapter 11 Seting Up Cryptographic Services
Introducing SSL
Proof of Authenticity: the Certificate Authority
Managing Certificates with openssl
Creating a Signing Request
Working with GNU Privacy Guard
Creating GPG Keys
Key Transfer
Managing GPG Keys
Encrypting Files with GPG
GPG Signing
Signing RPM Files
Part IV Networking Red Hat Enterprise Linux
Chapter 12 Configuring OpenLDAP
Understanding OpenLDAP
Types of Information in OpenLDAP
The LDAP Name Scheme
Replication and Referrals
Configuring a Base OpenLDAP Server
Installing and Configuring OpenLDAP
Populating the OpenLDAP Database
Creating the Base Structure
Understanding the Schema
Managing Linux Users and Groups in LDAP
Using OpenLDAP for Authentication
Chapter 13 Configuring Your Server for File Sharing
Configuring NFS4
Setting Up NFSv4
Mounting an NFS Share
Making NFS Mounts Persistent
Configuring Automount
Configuring Samba
Setting Up a Samba File Server
Samba and SELinux
Samba Advanced Authentication Options
Accessing Samba Shares
Offering FTP Services
File Sharing and SELinux
Chapter 14 Configuring DNS and DHCP
Understanding DNS
The DNS Hierarchy
DNS Server Types
The DNS Lookup Process
DNS Zone Types
Setting Up a DNS Server
Setting Up a Cache-Only Name Server
Setting Up a Primary Name Server
Setting Up a Secondary Name Server
Understanding DHCP
Setting Up a DHCP Server
Chapter 15 Seting Up a Mail Server
Using the Message Transfer Agent
Understanding the Mail Delivery Agent
Understanding the Mail User Agent
Setting Up Postfix as an SMTP Server
Working with Mutt
Basic Configuration
Internet Configuration
Configuring Dovecot for POP and IMAP
Further Steps
Chapter 16 Configuring Apache on Red Hat
Enterprise Linux
Configuring the Apache Web Server
Creating a Basic Website
Understanding the Apache Configuration Files
Apache Log Files
Apache and SELinux
Getting Help
Working with Virtual Hosts
Securing the Web Server with TLS Certificates
Configuring Authentication
Setting Up Authentication with .htpasswd
Configuring LDAP Authentication
Setting Up MySQL
Part V Advanced Red Hat Enterprise
Linux Configuration
Chapter 17 Monitoring and Optimizing Performance
Interpreting What’s Going On: The top Utility
CPU Monitoring with top
Memory Monitoring with top
Process Monitoring with top
Analyzing CPU Performance
Understanding CPU Performance
Context Switches and Interrupts
Using vmstat
Analyzing Memory Usage
Page size
Active vs. Inactive Memory
Kernel Memory
Using ps for Analyzing Memory
Monitoring Storage Performance
Understanding Disk Activity
Finding Most Busy Processes with iotop
Setting and Monitoring Drive Activity with hdparm
Understanding Network Performance
Optimizing Performance
Using a Simple Performance Optimization Test
CPU Tuning
Tuning Memory
Optimizing Interprocess Communication
Tuning Storage Performance
Network Tuning
Optimizing Linux Performance Using cgroups
Chapter 18 Introducing Bash Shell Scripting
Getting Started
Elements of a Good Shell Script
Executing the Script
Working with Variables and Input
Understanding Variables
Variables, Subshells, and Sourcing
Working with Script Arguments
Asking for Input
Using Command Substitution
Substitution Operators
Changing Variable Content with Pattern Matching
Performing Calculations
Using Control Structures
Using if...then...else
Using case
Using while
Using until
Using for 500
Chapter 19 Understanding and Troubleshooting the Boot Procedure
Introduction to Troubleshooting
the Boot Procedure
Configuring Booting with GRUB
Understanding the grub.conf Configuration File
Changing Boot Options
Using the GRUB Command Line
Reinstalling GRUB
GRUB behind the Scenes
Common Kernel Management Tasks
Analyzing Availability of Kernel Modules
Loading and Unloading Kernel Modules
Loading Kernel Modules with Specific Options
Upgrading the Kernel
Configuring Service Startup with Upstart
Basic Red Hat Enterprise Linux Troubleshooting
Chapter 20 Int roducing High-Availability Clustering
Understanding High-Availability Clustering
The Workings of High Availability
High-Availability Requirements
Red Hat High-Availability Add-on Software
Components
Configuring Cluster-Based Services
Setting Up Bonding
Setting Up Shared Storage
Installing the Red Hat High Availability Add-On
Building the Initial State of the Cluster
Configuring Additional Cluster Properties
Configuring a Quorum Disk
Setting Up Fencing
Creating Resources and Services
Troubleshooting a Nonoperational Cluster
Configuring GFS2 File Systems
Chapter 21 Setting Up an Installation Server
Configuring a Network Server As an Installation Server
Setting Up a TFTP and DHCP Server for PXE Boot
Installing the TFTP Server
Configuring DHCP for PXE Boot
Creating the TFTP PXE Server Content
Creating a Kickstart File
Using a Kickstart File to Perform an Automated
Installation
Modifying the Kickstart File with
system-config-kickstart
Making Manual Modifications to the Kickstart File
Chapter 22 Setting Up ISSCI multipathing