Linux in Action
Summary

Linux in Action is a task-based tutorial that will give you the skills and deep understanding you need to administer a Linux-based system. This hands-on book guides you through 12 real-world projects so you can practice as you learn. Each chapter ends with a review of best practices, new terms, and exercises.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

You can't learn anything without getting your hands dirty—including Linux. Skills like securing files, folders, and servers, safely installing patches and applications, and managing a network are required for any serious user, including developers, administrators, and DevOps professionals. With this hands-on tutorial, you'll roll up your sleeves and learn Linux project by project.

About the Book

Linux in Action guides you through 12 real-world projects, including automating a backup-and-restore system, setting up a private Dropbox-style file cloud, and building your own MediaWiki server. You'll try out interesting examples as you lock in core practices like virtualization, disaster recovery, security, backup, DevOps, and system troubleshooting. Each chapter ends with a review of best practices, new terms, and exercises.

What's inside

  • Setting up a safe Linux environment
  • Managing secure remote connectivity
  • Building a system recovery device
  • Patching and upgrading your system

About the Reader

No prior Linux admin experience is required.

About the Author

David Clinton is a certified Linux Server Professional, seasoned instructor, and author of Manning's bestselling Learn Amazon Web Services in a Month of Lunches.

Table of Contents

  1. Welcome to Linux
  2. Linux virtualization: Building a Linux working environment
  3. Remote connectivity: Safely accessing networked machines
  4. Archive management: Backing up or copying entire file systems
  5. Automated administration: Configuring automated offsite backups
  6. Emergency tools: Building a system recovery device
  7. Web servers: Building a MediaWiki server
  8. Networked file sharing: Building a Nextcloud file-sharing server
  9. Securing your web server
  10. Securing network connections: Creating a VPN or DMZ
  11. System monitoring: Working with log files
  12. Sharing data over a private network
  13. Troubleshooting system performance issues
  14. Troubleshooting network issues
  15. Troubleshooting peripheral devices
  16. DevOps tools: Deploying a scripted server environment using Ansible
1127342112
Linux in Action
Summary

Linux in Action is a task-based tutorial that will give you the skills and deep understanding you need to administer a Linux-based system. This hands-on book guides you through 12 real-world projects so you can practice as you learn. Each chapter ends with a review of best practices, new terms, and exercises.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

You can't learn anything without getting your hands dirty—including Linux. Skills like securing files, folders, and servers, safely installing patches and applications, and managing a network are required for any serious user, including developers, administrators, and DevOps professionals. With this hands-on tutorial, you'll roll up your sleeves and learn Linux project by project.

About the Book

Linux in Action guides you through 12 real-world projects, including automating a backup-and-restore system, setting up a private Dropbox-style file cloud, and building your own MediaWiki server. You'll try out interesting examples as you lock in core practices like virtualization, disaster recovery, security, backup, DevOps, and system troubleshooting. Each chapter ends with a review of best practices, new terms, and exercises.

What's inside

  • Setting up a safe Linux environment
  • Managing secure remote connectivity
  • Building a system recovery device
  • Patching and upgrading your system

About the Reader

No prior Linux admin experience is required.

About the Author

David Clinton is a certified Linux Server Professional, seasoned instructor, and author of Manning's bestselling Learn Amazon Web Services in a Month of Lunches.

Table of Contents

  1. Welcome to Linux
  2. Linux virtualization: Building a Linux working environment
  3. Remote connectivity: Safely accessing networked machines
  4. Archive management: Backing up or copying entire file systems
  5. Automated administration: Configuring automated offsite backups
  6. Emergency tools: Building a system recovery device
  7. Web servers: Building a MediaWiki server
  8. Networked file sharing: Building a Nextcloud file-sharing server
  9. Securing your web server
  10. Securing network connections: Creating a VPN or DMZ
  11. System monitoring: Working with log files
  12. Sharing data over a private network
  13. Troubleshooting system performance issues
  14. Troubleshooting network issues
  15. Troubleshooting peripheral devices
  16. DevOps tools: Deploying a scripted server environment using Ansible
30.99 In Stock
Linux in Action

Linux in Action

by David Clinton
Linux in Action

Linux in Action

by David Clinton

eBook

$30.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

Summary

Linux in Action is a task-based tutorial that will give you the skills and deep understanding you need to administer a Linux-based system. This hands-on book guides you through 12 real-world projects so you can practice as you learn. Each chapter ends with a review of best practices, new terms, and exercises.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

You can't learn anything without getting your hands dirty—including Linux. Skills like securing files, folders, and servers, safely installing patches and applications, and managing a network are required for any serious user, including developers, administrators, and DevOps professionals. With this hands-on tutorial, you'll roll up your sleeves and learn Linux project by project.

About the Book

Linux in Action guides you through 12 real-world projects, including automating a backup-and-restore system, setting up a private Dropbox-style file cloud, and building your own MediaWiki server. You'll try out interesting examples as you lock in core practices like virtualization, disaster recovery, security, backup, DevOps, and system troubleshooting. Each chapter ends with a review of best practices, new terms, and exercises.

What's inside

  • Setting up a safe Linux environment
  • Managing secure remote connectivity
  • Building a system recovery device
  • Patching and upgrading your system

About the Reader

No prior Linux admin experience is required.

About the Author

David Clinton is a certified Linux Server Professional, seasoned instructor, and author of Manning's bestselling Learn Amazon Web Services in a Month of Lunches.

Table of Contents

  1. Welcome to Linux
  2. Linux virtualization: Building a Linux working environment
  3. Remote connectivity: Safely accessing networked machines
  4. Archive management: Backing up or copying entire file systems
  5. Automated administration: Configuring automated offsite backups
  6. Emergency tools: Building a system recovery device
  7. Web servers: Building a MediaWiki server
  8. Networked file sharing: Building a Nextcloud file-sharing server
  9. Securing your web server
  10. Securing network connections: Creating a VPN or DMZ
  11. System monitoring: Working with log files
  12. Sharing data over a private network
  13. Troubleshooting system performance issues
  14. Troubleshooting network issues
  15. Troubleshooting peripheral devices
  16. DevOps tools: Deploying a scripted server environment using Ansible

Product Details

ISBN-13: 9781638356141
Publisher: Manning
Publication date: 08/19/2018
Sold by: SIMON & SCHUSTER
Format: eBook
Pages: 384
File size: 6 MB

About the Author

David Clinton is a certified Linux Server Professional, seasoned instructor, and author of Manning’s bestselling Learn Amazon Web Services in a Month of Lunches.
David Clinton is an AWS Solutions Architect and a Linux server administrator. While he has authored two previous books for Manning (as well as books and video courses for other publishers), this is his finest work yet.

Table of Contents

Preface xi

Acknowledgments xii

About this book xiv

About the, author xviii

About the cover illustration xix

1 Welcome to Linux 1

1.1 What makes Linux different from other operating systems 2

1.2 Basic survival skills 3

The Linux file system 4

Getting around: Linux navigation tools 5

Getting things done: Linux file management tools 9

Keyboard tricks 13

Pseudo file systems 14

Showing 'em who's boss: sudo 15

1.3 Getting help 16

Man files 16

Info 16

The internet 17

2 Linux virtualization: Building a Linux working environment 22

2.1 What is virtualization? 23

2.2 Working with VirtualBox 26

Working with Linux package managers 26

Defining a virtual machine (VM) 33

Installing an operating system (OS) 36

Cloning and sharing a VirtualBox VM 39

2.3 Working with Linux containers (LXC) 41

Getting started with LXC 41

Creating your first container 42

3 Remote connectivity: Safely accessing networked machines 49

3.1 The importance of encryption 50

3.2 Getting started with OpenSSH 51

3.3 Logging in to a remote server with SSH 53

3.4 Password-free SSH access 55

Generating a new key pair 56

Copying the public key over a network 57

Working with multiple encryption keys 59

3.5 Safely copying files with SCP 59

3.6 Using remote graphic programs over SSH connections 60

3.7 Linux process management 61

Viewing processes with the ps command 62

Working with systemd 64

4 Archive management: Backing up or copying entire file systems 68

4.1 Why archive? 69

Compression 69

Archives: Some important considerations 70

4.2 What to archive 71

4.3 Where to back up 73

4.4 Archiving files and file systems using tar 74

Simple archive and compression examples 74

Streaming file system archives 76

Aggregating files with find 78

Preserving permissions and ownership…and extracting archives 79

4.5 Archiving partitions with dd 83

dd operations 83

Wiping disks with dd 84

4.6 Synchronizing archives with rsync 85

4.7 Planning considerations 86

5 Automated administration: Configuring automated offsite backups 90

5.1 Scripting with Bash 91

A sample script for backing up system files 91

A sample script for changing filenames 95

5.2 Backing up data to AWS S3 97

Installing the A WS command-line interface (CLI) 97

Configuring your AWS account 98

Creating your first bucket 99

5.3 Scheduling regular backups with cron 100

5.4 Scheduling irregular backups with anacron 103

Running the S3 sync job 103

5.5 Scheduling regular backups with systemd timers 104

6 Emergency tools: Building a system recovery device 109

6.1 Working in recovery/rescue mode 111

The GRUB bootloader 111

Using recovery mode on Ubuntu 112

Using rescue mode on CentOS 113

Finding command-line rescue tools 113

6.2 Building a live-boot recovery drive 114

System rescue images 115

Writing live-boot images to USB drives 116

6.3 Putting your live-boot drive to work 120

Testing system memory 120

Damaged partitions 122

Recovering files from a damaged file system 124

6.4 Password recovery: Mounting a file system using chroot 126

7 Web servers: Building a MediaWiki server 130

7.1 Building a LAMP server 131

7.2 Manually setting up an Apache web server 133

Installing the Apache web server on Ubuntu 133

Populating your website document root 134

7.3 Installing an SQL database 134

Hardening SQL 136

SQL administration 137

7.4 Installing PHP 140

Installing PHP on Ubuntu 140

Testing your PHP installation 140

7.5 Installing and configuring MediaWiki 141

Troubleshooting missing extensions 142

Connecting MediaWiki to the database 145

7.6 Installing the Apache web server on CentOS 146

Understanding network ports 147

Controlling network traffic 148

Installing MariaDB on CentOS 149

Installing PHP on CentOS 149

8 Networked file sharing: Building a Nextcloud file-sharing server 155

8.1 Enterprise file sharing and Nextcloud 156

8.2 Installing Nextcloud using snaps 157

8.3 Installing Nextcloud manually 159

Hardware prerequisites 159

Building a LAMP server 161

Configuring Apache 161

Downloading and unpacking Nextcloud 163

8.4 Nextcloud administration 166

8.5 Using AWS S3 as the primary Nextcloud storage 169

9 Securing your web server 174

9.1 The obvious stuff 175

9.2 Controlling network access 177

Configuring a firewall 177

Using nonstandard ports 183

9.3 Encrypting data in transit 185

Preparing your website domain 187

Generating certificates using Let's Encrypt 187

9.4 Hardening the authentication process 189

Controlling file system objects with SELinux 189

Installing and activating SELinux 191

Applying SELinux policies 193

System groups and the principle of least privilege 194

Isolating processes within containers 196

Scanning for dangerous user ID values 197

9.5 Auditing system resources 197

Scanning for open ports 198

Scanning for active services 198

Searching for installed software 199

10 Securing network connections: Creating a VPN or DMZ 203

10.1 Building an OpenVPN tunnel 204

Configuring an OpenVPN server 205

Configuring an OpenVPN client 212

Testing your VPN 214

10.2 Building intrusion-resistant networks 215

Demilitarized zones (DMZs) 216

Using iptables 218

Creating a DMZ using iptables 218

Creating a DMZ using Shorewall 221

10.3 Building a virtual network for infrastructure testing 224

11 System monitoring: Working with log files 229

11.1 Working with system logs 230

Logging with journald 231

Logging with syslogd 233

11.2 Managing log files 235

The journald way 235

The syslogd way 236

11.3 Consuming large files 237

Using grep 237

Using awk 238

Using sed 239

11.4 Monitoring with intrusion detection 241

Setting up a mail server 241

Installing Tripwire 242

Configuring Tripwire 244

Generating a test Tripwire report 247

12 Sharing data over a private network 251

12.1 Sharing files through Network File System (NFS) 252

Setting up the NFS server 253

Setting up the client 255

Mounting an NFS share at boot time 256

NFS security 257

12.2 Sharing files with Windows users using Samba 259

Testing your Samba configuration 261

Accessing a Samba server from Windows 262

12.3 Sharing files with yourself using symbolic links 262

13 Troubleshooting system performance issues 268

13.1 CPU load problems 269

Measuring CPU load 269

Managing CPU load 270

Making trouble (simulating CPU load) 274

13.2 Memory problems 274

Assessing memory status 274

Assessing swap status 275

13.3 Storage availability problems 275

Inode limits 276

The solution 278

13.4 Network load problems 279

Measuring bandwidth 279

Solutions 280

Shaping network traffic with tc 281

13.5 Monitoring tools 282

Aggregating monitoring data 283

Visualizing your data 284

14 Troubleshooting network issues 289

14.1 Understanding TCP/IP addressing 290

What's NAT addressing? 290

Working with NAT addressing 291

14.2 Establishing network connectivity 293

14.3 Troubleshooting outbound connectivity 295

Tracking down the status of your network 295

Assigning IP addresses 297

Configuring DNS service 300

Plumbing 302

14.4 Troubleshooting inbound connectivity 302

Internal connection scanning: netstat 303

External connection scanning: netcat 303

15 Troubleshooting peripheral devices 308

15.1 Identifying attached devices 309

15.2 Managing peripherals with Linux kernel modules 311

Finding kernel modules 311

Manually loading kernel modules 313

15.3 Manually managing kernel parameters at boot time 315

Passing parameters at boot time 315

Passing parameters via the file system 317

15.4 Managing printers 317

Basics of lp 317

Managing printers using CUPS 318

16 DevOps tools: Deploying a scripted server environment using Ansible 322

16.1 What deployment orchestrators can do for you 324

16.2 Ansible: Installation and setup 326

Setting up passwordless access to hosts 326

Organizing Ansible hosts 327

Testing connectivity 328

16.3 Authentication 328

16.4 Ansible playbooks 330

Writing a simple playbook 330

Creating multi-tiered, role-powered playbooks 332

Managing passwords in Ansible 334

Conclusion 339

Appendix A chapter-by-chapter, command-line review 343

Index 351

From the B&N Reads Blog

Customer Reviews