Introduction xxix Assessment Test xlii Part I Gathering Your Tools 1 Chapter 1 Preparing Your Environment 3 Setting Up a Learning Space 4 Using That Old Laptop 4 Creating a Virtualized Environment 5 Jumping to the Cloud 7 Exploring Linux Distributions 8 Looking at CentOS 9 Looking at Ubuntu 10 Looking at openSUSE 12 Looking at Fedora 13 Locating a Terminal 14 Summary 14 Chapter 2 Sifting Through Services 15 What is a Linux Server? 16 Launching Services 17 Listening for Clients 18 Serving the Basics 19 Web Servers 20 Database Servers 21 Mail Servers 22 Serving Local Networks 24 File Servers 25 Print Servers 26 Network Resource Servers 26 Implementing Security 29 Authentication Server 29 Certificate Authority 30 Access Server (SSH) 31 Virtual Private Networks 31 Proxy Server 32 Monitoring 32 Improving Performance 32 Clustering 32 Load Balancing 33 Containers 33 Summary 33 Exam Essentials 34 Review Questions 35 Chapter 3 Managing Files, Directories, and Text 39 Handling Files and Directories 40 Viewing and Creating Files 40 Copying and Moving Files 45 Removing Files 52 Linking Files and Directories 55 Establishing a Hard Link 55 Constructing a Soft Link 57 Reading Files 59 Reading Entire Text Files 59 Reading Text File Portions 61 Reading Text File Pages 65 Finding Information 66 Exploring File Differences 67 Using Simple Pinpoint Commands 69 Using Intricate Pinpoint Commands 73 Summary 77 Exam Essentials 77 Review Questions 78 Chapter 4 Searching and Analyzing Text 83 Processing Text Files 84 Filtering Text 84 Formatting Text 89 Determining Word Count 93 Redirecting Input and Output 95 Handling Standard Output 95 Redirecting Standard Error 96 Regulating Standard Input 98 Piping Commands 100 Creating Here Documents 102 Creating Command Lines 103 Editing Text Files 105 Appreciating Text Editors 105 Learning About Stream Editors 110 Summary 116 Exam Essentials 117 Review Questions 118 Part II Starting Up and Configuring Your System 123 Chapter 5 Explaining the Boot Process 125 The Linux Boot Process 126 Following the Boot Process 126 Viewing the Boot Process 127 The Firmware Startup 128 The BIOS Startup 128 The UEFI Startup 129 Linux Bootloaders 130 GRUB Legacy 131 GRUB2 134 Alternative Bootloaders 136 System Recovery 137 Kernel Failures 137 Root Drive Failure 139 Summary 141 Exam Essentials 141 Review Questions 143 Chapter 6 Maintaining System Startup and Services 147 Looking at init 148 Managing systemd Systems 149 Exploring Unit Files 150 Focusing on Service Unit Files 152 Focusing on Target Unit Files 157 Looking at systemctl 159 Examining Special systemd Commands 162 Managing SysV init Systems 167 Understanding Runlevels 168 Investigating SysV init Commands 171 Digging Deeper into systemd 176 Looking at systemd Mount Units 176 Exploring Automount Units 178 Summary 179 Exam Essentials 179 Review Questions 181 Chapter 7 Configuring Network Connections 187 Configuring Network Features 188 Network Configuration Files 188 Graphical Tools 191 Command-Line Tools 193 Basic Network Troubleshooting 201 Sending Test Packets 201 Finding Host Information 202 Advanced Network Troubleshooting 205 The netstat Command 205 Examining Sockets 208 Summary 209 Exam Essentials 210 Review Questions 212 Chapter 8 Comparing GUIs 217 Focusing on the GUI 218 Getting to Know GNOME 219 Probing KDE Plasma 221 Considering Cinnamon 223 Making Acquaintance with MATE 225 Understanding Unity 227 Setting Up Accessibility 228 Serving Up the GUI 231 Figuring Out Wayland 232 Examining X11 234 Using Remote Desktops 235 Viewing VNC 236 Grasping Xrdp 238 Exploring NX 239 Studying SPICE 240 Forwarding 240 Local 242 Remote 243 Tunneling Your X11 Connection 244 Summary 245 Exam Essentials 245 Review Questions 247 Chapter 9 Adjusting Localization Options 253 Understanding Localization 254 Character Sets 254 Environment Variables 255 Setting Your Locale 256 Installation Locale Decisions 256 Changing Your Locale 257 Looking at Time 259 Working with Time Zones 259 Setting the Time and Date 260 Watching System Time 264 Summary 265 Exam Essentials 266 Review Questions 267 Part III Managing Your System 273 Chapter 10 Administering Users and Groups 275 Managing User Accounts 276 Adding Accounts 276 Maintaining Passwords 288 Modifying Accounts 290 Deleting Accounts 292 Managing Groups 294 Setting Up the Environment 297 Perusing Bash Parameters 298 Understanding User Entries 299 Grasping Global Entries 300 Querying Users 300 Exploring the whoami Utility 300 Understanding the who Utility 301 Identifying with the id Program 302 Displaying Access History with the last Utility 303 Managing Disk Space Usage 304 Summary 308 Exam Essentials 308 Review Questions 310 Chapter 11 Handling Storage 315 Storage Basics 316 Drive Connections 316 Partitioning Drives 317 Automatic Drive Detection 317 Partitioning Tools 318 Working with fdisk 318 Working with gdisk 320 The GNU parted Command 322 Graphical Tools 322 Understanding Filesystems 323 The Virtual Directory 324 Maneuvering Around the Filesystem 326 Formatting Filesystems 326 Common Filesystem Types 326 Creating Filesystems 328 Mounting Filesystems 329 Manually Mounting Devices 329 Automatically Mounting Devices 330 Managing Filesystems 331 Retrieving Filesystem Stats 331 Filesystem Tools 332 Storage Alternatives 333 Multipath 333 Logical Volume Manager 334 Using RAID Technology 336 Summary 338 Exam Essentials 338 Review Questions 340 Chapter 12 Protecting Files 343 Understanding Backup Types 344 Looking at Compression Methods 346 Comparing Archive and Restore Utilities 349 Copying with cpio 349 Archiving with tar 352 Duplicating with dd 357 Replicating with rsync 359 Securing Offsite/Off-System Backups 362 Copying Securely via scp 362 Transferring Securely via sftp 363 Checking Backup Integrity 366 Digesting an MD5 Algorithm 366 Securing Hash Algorithms 367 Summary 368 Exam Essentials 368 Review Questions 370 Chapter 13 Governing Software 373 Working with Source Code 374 Downloading Source Code 374 Bundling Source Code Packages 375 Compiling Source Code 379 Packaging Applications 380 Installing and Managing Packages 381 Understanding Repositories 385 Summary 392 Exam Essentials 393 Review Questions 394 Chapter 14 Tending Kernel Modules 397 Exploring Kernel Modules 398 Installing Kernel Modules 402 Removing Kernel Modules 404 Summary 405 Exam Essentials 405 Review Questions 407 Part IV Securing Your System 409 Chapter 15 Applying Ownership and Permissions 411 Looking at File and Directory Permissions 412 Understanding Ownership 412 Controlling Access Permissions 414 Exploring Special Permissions 417 Managing Default Permissions 418 Access Control Lists 420 Context-Based Permissions 422 Using SELinux 423 Using AppArmor 427 Understanding Linux User Types 430 Types of User Accounts 430 Escalating Privileges 430 Restricting Users 431 Summary 435 Exam Essentials 436 Review Questions 437 Chapter 16 Looking at Access and Authentication Methods 439 Getting to Know PAM 440 Exploring PAM Configuration Files 440 Enforcing Strong Passwords 444 Locking Out Accounts 447 Limiting Root Access 451 Exploring PKI Concepts 452 Getting Certificates 453 Discovering Key Concepts 453 Securing Data 454 Signing Transmissions 455 Using SSH 455 Exploring Basic SSH Concepts 456 Configuring SSH 458 Generating SSH Keys 460 Authenticating with SSH Keys 462 Authenticating with the Authentication Agent 464 Using SSH Securely 466 Using VPN as a Client 468 Summary 469 Exam Essentials 469 Review Questions 471 Chapter 17 Implementing Logging Services 473 Understanding the Importance of Logging 474 The syslog Protocol 474 The History of Linux Logging 476 Basic Logging Using rsyslog 477 C.
CompTIA Linux+ Study Guide with Online Labs : Exam XK0-004