{"product_id":"mastering-linux-system-administration-paperback-softback-9781119794455","title":"Mastering Linux System Administration (Paperback \/ softback) 9781119794455","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eMastering Linux System Administration\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eChristine Bresnahan (Author), Richard Blum (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119794455, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 16 September 2021\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e576 pages\u003cbr\u003e22.9 x 18.3 x 3.1 cm, 0.93 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cp\u003e\u003cb\u003eAchieve Linux system administration mastery with time-tested and proven techniques\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIn \u003ci\u003eMastering Linux System Administration\u003c\/i\u003e, Linux experts and system administrators Christine Bresnahan and Richard Blum deliver a comprehensive roadmap to go from Linux beginner to expert Linux system administrator with a learning-by-doing approach. Organized by do-it-yourself tasks, the book includes instructor materials like a sample syllabus, additional review questions, and slide decks.\u003c\/p\u003e \u003cp\u003eAmongst the practical applications of the Linux operating system included within, you'll find detailed and easy-to-follow instruction on:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eInstalling Linux servers, understanding the boot and initialization processes, managing hardware, and working with networks\u003c\/li\u003e \u003cli\u003eAccessing the Linux command line, working with the virtual directory structure, and creating shell scripts to automate administrative tasks\u003c\/li\u003e \u003cli\u003eManaging Linux user accounts, system security, web and database servers, and virtualization environments\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003ePerfect for entry-level Linux system administrators, as well as system administrators familiar with Windows, Mac, NetWare, or other UNIX systems, \u003ci\u003eMastering Linux System Administration\u003c\/i\u003e is a must-read guide to manage and secure Linux servers.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eIntroduction xxv\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 1 Basic Admin Functions 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1 Understanding the Basics 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat is Linux? 3\u003c\/p\u003e \u003cp\u003eLooking into the Linux Kernel 4\u003c\/p\u003e \u003cp\u003eThe GNU Utilities 12\u003c\/p\u003e \u003cp\u003eLinux User Interfaces 12\u003c\/p\u003e \u003cp\u003eLinux Distributions 18\u003c\/p\u003e \u003cp\u003eCore Linux Distributions 19\u003c\/p\u003e \u003cp\u003eSpecialized Linux Distributions 19\u003c\/p\u003e \u003cp\u003eThe Bottom Line 20\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2 Installing an Ubuntu Server 23\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePre-Installation Requirements 23\u003c\/p\u003e \u003cp\u003eHardware Requirements 24\u003c\/p\u003e \u003cp\u003eVirtual Server Requirements 25\u003c\/p\u003e \u003cp\u003eFinding the Software 26\u003c\/p\u003e \u003cp\u003eOracle VirtualBox 26\u003c\/p\u003e \u003cp\u003eUbuntu Server 26\u003c\/p\u003e \u003cp\u003eRunning the Installation 29\u003c\/p\u003e \u003cp\u003eOracle VirtualBox 29\u003c\/p\u003e \u003cp\u003eUbuntu Server 33\u003c\/p\u003e \u003cp\u003eChecking the Installation 49\u003c\/p\u003e \u003cp\u003eThe Bottom Line 50\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3 Installing and Maintaining Software in Ubuntu 53\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExploring Package Management 53\u003c\/p\u003e \u003cp\u003eInspecting the Debian-Based Systems 54\u003c\/p\u003e \u003cp\u003eManaging Packages with \u003ci\u003eapt \u003c\/i\u003e54\u003c\/p\u003e \u003cp\u003eInstalling Software Packages with \u003ci\u003eapt \u003c\/i\u003e56\u003c\/p\u003e \u003cp\u003eUpgrading Software with \u003ci\u003eapt \u003c\/i\u003e59\u003c\/p\u003e \u003cp\u003eUninstalling Software with \u003ci\u003eapt \u003c\/i\u003e60\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003eapt \u003c\/i\u003eRepositories 61\u003c\/p\u003e \u003cp\u003eUsing Snap Containers 62\u003c\/p\u003e \u003cp\u003eInstalling from Source Code 64\u003c\/p\u003e \u003cp\u003eThe Bottom Line 66\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4 Installing a Red Hat Server 69\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePre-Installation Requirements 69\u003c\/p\u003e \u003cp\u003eHardware Requirements 70\u003c\/p\u003e \u003cp\u003eVirtual Server Requirements 71\u003c\/p\u003e \u003cp\u003eFinding the Software 72\u003c\/p\u003e \u003cp\u003eOracle VirtualBox 72\u003c\/p\u003e \u003cp\u003eCentOS 73\u003c\/p\u003e \u003cp\u003eRunning the Installation 76\u003c\/p\u003e \u003cp\u003eOracle VirtualBox 77\u003c\/p\u003e \u003cp\u003eCentOS 77\u003c\/p\u003e \u003cp\u003eChecking the Installation 96\u003c\/p\u003e \u003cp\u003eThe Bottom Line 97\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5 Installing and Maintaining Software in Red Hat 99\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExploring Red Hat Packages 99\u003c\/p\u003e \u003cp\u003eAutomated Package Management 100\u003c\/p\u003e \u003cp\u003eListing Installed Packages 100\u003c\/p\u003e \u003cp\u003eInstalling Software with \u003ci\u003ednf \u003c\/i\u003e102\u003c\/p\u003e \u003cp\u003eUpgrading Software with \u003ci\u003ednf \u003c\/i\u003e104\u003c\/p\u003e \u003cp\u003eUninstalling Software with \u003ci\u003ednf \u003c\/i\u003e104\u003c\/p\u003e \u003cp\u003eHandling Broken Dependencies 105\u003c\/p\u003e \u003cp\u003eWorking with RPM Repositories 106\u003c\/p\u003e \u003cp\u003eWorking Directly with Packages 107\u003c\/p\u003e \u003cp\u003eFinding Package Files 107\u003c\/p\u003e \u003cp\u003eInspecting Package Files 108\u003c\/p\u003e \u003cp\u003eInstalling Package Files 109\u003c\/p\u003e \u003cp\u003eRemoving Package Files 110\u003c\/p\u003e \u003cp\u003eUsing Flatpak Containers 111\u003c\/p\u003e \u003cp\u003eThe Bottom Line 113\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6 Working with the Shell 115\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExploring the Shell 115\u003c\/p\u003e \u003cp\u003eThe Shell Prompt 116\u003c\/p\u003e \u003cp\u003eThe Shell Manual 117\u003c\/p\u003e \u003cp\u003eWorking with Commands 121\u003c\/p\u003e \u003cp\u003eEntering Commands 121\u003c\/p\u003e \u003cp\u003eRetrieving Past Commands 123\u003c\/p\u003e \u003cp\u003eRedirecting Commands 125\u003c\/p\u003e \u003cp\u003eEnvironment Variables 129\u003c\/p\u003e \u003cp\u003eGlobal Environment Variables 129\u003c\/p\u003e \u003cp\u003eUser-Defined Environment Variables 131\u003c\/p\u003e \u003cp\u003eThe Bottom Line 133\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7 Exploring Linux File Management 135\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eFilesystem Navigation 135\u003c\/p\u003e \u003cp\u003eThe Linux Filesystem 135\u003c\/p\u003e \u003cp\u003eTraversing Directories 138\u003c\/p\u003e \u003cp\u003eLinux Files 139\u003c\/p\u003e \u003cp\u003eDetermining File Types 139\u003c\/p\u003e \u003cp\u003eFilenames 140\u003c\/p\u003e \u003cp\u003eHidden Files 140\u003c\/p\u003e \u003cp\u003eFile Inodes 141\u003c\/p\u003e \u003cp\u003eFile and Directory Listing 142\u003c\/p\u003e \u003cp\u003eBasic Listing 142\u003c\/p\u003e \u003cp\u003eModifying Listing Information 143\u003c\/p\u003e \u003cp\u003eThe Complete Parameter List 143\u003c\/p\u003e \u003cp\u003eDirectory Handling 146\u003c\/p\u003e \u003cp\u003eCreating Directories 146\u003c\/p\u003e \u003cp\u003eDeleting Directories 146\u003c\/p\u003e \u003cp\u003eFile Handling 147\u003c\/p\u003e \u003cp\u003eCreating Files 147\u003c\/p\u003e \u003cp\u003eCopying Files 148\u003c\/p\u003e \u003cp\u003eLinking Files 150\u003c\/p\u003e \u003cp\u003eRenaming Files 152\u003c\/p\u003e \u003cp\u003eDeleting Files 152\u003c\/p\u003e \u003cp\u003eFile Features 154\u003c\/p\u003e \u003cp\u003eUsing Wildcards 154\u003c\/p\u003e \u003cp\u003eQuoting 155\u003c\/p\u003e \u003cp\u003eCase Sensitivity 156\u003c\/p\u003e \u003cp\u003eFinding Files 156\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003ewhich \u003c\/i\u003eCommand 156\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003elocate \u003c\/i\u003eCommand 156\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003ewhereis \u003c\/i\u003eCommand 157\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003efind \u003c\/i\u003eCommand 157\u003c\/p\u003e \u003cp\u003eArchiving Files 159\u003c\/p\u003e \u003cp\u003eCompressing Files 159\u003c\/p\u003e \u003cp\u003eCreating Archive Files 160\u003c\/p\u003e \u003cp\u003eArchiving Scenarios 161\u003c\/p\u003e \u003cp\u003eThe Bottom Line 163\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8 Working with Text Files 165\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003evim \u003c\/i\u003eEditor 165\u003c\/p\u003e \u003cp\u003eChecking Your \u003ci\u003evim \u003c\/i\u003eEditor Program 166\u003c\/p\u003e \u003cp\u003eUsing the \u003ci\u003evim \u003c\/i\u003eEditor 167\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003enano \u003c\/i\u003eEditor 170\u003c\/p\u003e \u003cp\u003eWorking with Data Files 172\u003c\/p\u003e \u003cp\u003eSorting 172\u003c\/p\u003e \u003cp\u003eSearching 175\u003c\/p\u003e \u003cp\u003eCompressing 181\u003c\/p\u003e \u003cp\u003eArchiving 182\u003c\/p\u003e \u003cp\u003eThe Bottom Line 187\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 2 Intermediate Admin Functions 189\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9 Managing Hardware 191\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDevice Driver Modules 191\u003c\/p\u003e \u003cp\u003eListing Installed Modules 192\u003c\/p\u003e \u003cp\u003eInstalling New Modules 193\u003c\/p\u003e \u003cp\u003eRemoving Modules 196\u003c\/p\u003e \u003cp\u003eCommunicating with Devices 196\u003c\/p\u003e \u003cp\u003eDevice Interfaces 196\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003e\/dev \u003c\/i\u003eDirectory 198\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003e\/proc \u003c\/i\u003eDirectory 199\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003e\/sys \u003c\/i\u003eDirectory 202\u003c\/p\u003e \u003cp\u003eWorking with Devices 203\u003c\/p\u003e \u003cp\u003eFinding Devices 203\u003c\/p\u003e \u003cp\u003eWorking with PCI Cards 205\u003c\/p\u003e \u003cp\u003eWorking with USB Devices 206\u003c\/p\u003e \u003cp\u003eUsing Hot Pluggable Devices 207\u003c\/p\u003e \u003cp\u003eDetecting Dynamic Devices 208\u003c\/p\u003e \u003cp\u003eWorking with Dynamic Devices 208\u003c\/p\u003e \u003cp\u003eThe Bottom Line 209\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10 Booting Linux 211\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding the Boot Process 211\u003c\/p\u003e \u003cp\u003eOverview of the Boot Process 211\u003c\/p\u003e \u003cp\u003eWatching the Boot Process 212\u003c\/p\u003e \u003cp\u003eThe Firmware Startup 212\u003c\/p\u003e \u003cp\u003eThe GRUB2 Bootloader 214\u003c\/p\u003e \u003cp\u003eConfiguring the GRUB2 Bootloader 215\u003c\/p\u003e \u003cp\u003eExploring the GRUB2 Configuration 215\u003c\/p\u003e \u003cp\u003eInteracting with GRUB2 217\u003c\/p\u003e \u003cp\u003eThe systemd Initialization Process 219\u003c\/p\u003e \u003cp\u003eExploring Unit Files 220\u003c\/p\u003e \u003cp\u003eFocusing on Service Unit Files 221\u003c\/p\u003e \u003cp\u003eFocusing on Target Unit Files 225\u003c\/p\u003e \u003cp\u003eChanging a Unit Configuration File 226\u003c\/p\u003e \u003cp\u003eChanging the systemd Configuration File 227\u003c\/p\u003e \u003cp\u003eLooking at \u003ci\u003esystemctl 227\u003c\/i\u003e\u003c\/p\u003e \u003cp\u003eJumping Targets 230\u003c\/p\u003e \u003cp\u003eAnalyzing with systemd 232\u003c\/p\u003e \u003cp\u003eThe Bottom Line 234\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11 Working with Storage Devices 235\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eStorage Basics 235\u003c\/p\u003e \u003cp\u003eDrive Connections 235\u003c\/p\u003e \u003cp\u003ePartitioning Drives 236\u003c\/p\u003e \u003cp\u003eAutomatic Drive Detection 236\u003c\/p\u003e \u003cp\u003ePartitioning Tools 237\u003c\/p\u003e \u003cp\u003eWorking with \u003ci\u003efdisk \u003c\/i\u003e237\u003c\/p\u003e \u003cp\u003eWorking with \u003ci\u003egdisk \u003c\/i\u003e239\u003c\/p\u003e \u003cp\u003eThe GNU \u003ci\u003eparted \u003c\/i\u003eCommand 241\u003c\/p\u003e \u003cp\u003eFormatting Filesystems 243\u003c\/p\u003e \u003cp\u003eCommon Filesystem Types 243\u003c\/p\u003e \u003cp\u003eCreating Filesystems 245\u003c\/p\u003e \u003cp\u003eMounting Filesystems 246\u003c\/p\u003e \u003cp\u003eManually Mounting Devices 246\u003c\/p\u003e \u003cp\u003eAutomatically Mounting Devices 247\u003c\/p\u003e \u003cp\u003eManaging Filesystems 249\u003c\/p\u003e \u003cp\u003eRetrieving Filesystem Stats 249\u003c\/p\u003e \u003cp\u003eFilesystem Tools 250\u003c\/p\u003e \u003cp\u003eStorage Alternatives 251\u003c\/p\u003e \u003cp\u003eMultipath 251\u003c\/p\u003e \u003cp\u003eLogical Volume Manager 251\u003c\/p\u003e \u003cp\u003eUsing RAID Technology 253\u003c\/p\u003e \u003cp\u003eThe Bottom Line 254\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12 Configuring Network Settings 255\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eNetwork Settings 255\u003c\/p\u003e \u003cp\u003eUbuntu Servers 256\u003c\/p\u003e \u003cp\u003eRed Hat Servers 258\u003c\/p\u003e \u003cp\u003eUsing Network Command-Line Tools 260\u003c\/p\u003e \u003cp\u003eNetworkManager Tools 260\u003c\/p\u003e \u003cp\u003eOther Tools 262\u003c\/p\u003e \u003cp\u003eBasic Network Troubleshooting 269\u003c\/p\u003e \u003cp\u003eSending Test Packets 269\u003c\/p\u003e \u003cp\u003eFinding Host Information 271\u003c\/p\u003e \u003cp\u003eAdvanced Network Troubleshooting 273\u003c\/p\u003e \u003cp\u003eThe \u003ci\u003enetstat \u003c\/i\u003eCommand 273\u003c\/p\u003e \u003cp\u003eExamining Sockets 276\u003c\/p\u003e \u003cp\u003eThe Bottom Line 277\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13 Managing Users and Groups 279\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Linux Permissions 279\u003c\/p\u003e \u003cp\u003eUnderstanding Ownership 280\u003c\/p\u003e \u003cp\u003eControlling Access Permissions 282\u003c\/p\u003e \u003cp\u003eExploring Special Permissions 284\u003c\/p\u003e \u003cp\u003eManaging Default Permissions 285\u003c\/p\u003e \u003cp\u003eUsing Access Control Lists 288\u003c\/p\u003e \u003cp\u003eManaging User Accounts 290\u003c\/p\u003e \u003cp\u003eAdding Accounts 290\u003c\/p\u003e \u003cp\u003eMaintaining Accounts 298\u003c\/p\u003e \u003cp\u003eRemoving Accounts 301\u003c\/p\u003e \u003cp\u003eMaintaining the Environment 302\u003c\/p\u003e \u003cp\u003eSetting Environment Variables 302\u003c\/p\u003e \u003cp\u003eExploring User Entries 302\u003c\/p\u003e \u003cp\u003eExploring Global Entries 303\u003c\/p\u003e \u003cp\u003eManaging Groups 304\u003c\/p\u003e \u003cp\u003eAdding Groups 305\u003c\/p\u003e \u003cp\u003eRemoving Groups 306\u003c\/p\u003e \u003cp\u003eThe Bottom Line 307\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14 Working with Processes and Jobs 309\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLooking at Processes 309\u003c\/p\u003e \u003cp\u003eMonitoring Processes in Real Time 311\u003c\/p\u003e \u003cp\u003eManaging Processes 314\u003c\/p\u003e \u003cp\u003eSetting Priorities 314\u003c\/p\u003e \u003cp\u003eStopping Processes 315\u003c\/p\u003e \u003cp\u003eRunning Programs in Background Mode 317\u003c\/p\u003e \u003cp\u003eRunning in the Background 317\u003c\/p\u003e \u003cp\u003eRunning Multiple Background Jobs 318\u003c\/p\u003e \u003cp\u003eRunning Programs Without a Console 319\u003c\/p\u003e \u003cp\u003eJob Control 320\u003c\/p\u003e \u003cp\u003eViewing Jobs 320\u003c\/p\u003e \u003cp\u003eRestarting Stopped Jobs 322\u003c\/p\u003e \u003cp\u003eScheduling Jobs 323\u003c\/p\u003e \u003cp\u003eScheduling a Job Using the \u003ci\u003eat \u003c\/i\u003eCommand 323\u003c\/p\u003e \u003cp\u003eScheduling Recurring Programs 326\u003c\/p\u003e \u003cp\u003eThe Bottom Line 328\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15 Managing Log Files 329\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe systemd Journaling System 329\u003c\/p\u003e \u003cp\u003eConfiguring \u003ci\u003esystemd-journald \u003c\/i\u003e330\u003c\/p\u003e \u003cp\u003eLooking at Journal Files 331\u003c\/p\u003e \u003cp\u003eMaking the Journal Persistent 332\u003c\/p\u003e \u003cp\u003eViewing Journal Entries 332\u003c\/p\u003e \u003cp\u003eMaintaining the Journal 335\u003c\/p\u003e \u003cp\u003eViewing Different Journal Files 337\u003c\/p\u003e \u003cp\u003eProtecting Journal Files 337\u003c\/p\u003e \u003cp\u003eMaking Journal Entries 337\u003c\/p\u003e \u003cp\u003eThe rsyslog Legacy System 338\u003c\/p\u003e \u003cp\u003eThe syslog Protocol 338\u003c\/p\u003e \u003cp\u003eBasic Logging Using \u003ci\u003ersyslogd \u003c\/i\u003e340\u003c\/p\u003e \u003cp\u003eLayering Your Logging 342\u003c\/p\u003e \u003cp\u003eMaking Log Entries 343\u003c\/p\u003e \u003cp\u003eFinding Event Messages 344\u003c\/p\u003e \u003cp\u003eThe Bottom Line 344\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16 Managing Printers 347\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Common Unix Printing System 347\u003c\/p\u003e \u003cp\u003ePrinter Drivers 347\u003c\/p\u003e \u003cp\u003eWeb Interface 348\u003c\/p\u003e \u003cp\u003eCommand-Line Commands 348\u003c\/p\u003e \u003cp\u003ePrinter Sharing 349\u003c\/p\u003e \u003cp\u003ePrinter Classes 350\u003c\/p\u003e \u003cp\u003eInstalling and Configuring CUPS 350\u003c\/p\u003e \u003cp\u003eInstalling CUPS 351\u003c\/p\u003e \u003cp\u003ePreparing the Server to Use CUPS 354\u003c\/p\u003e \u003cp\u003eUsing CUPS 356\u003c\/p\u003e \u003cp\u003eAdministration Functions 356\u003c\/p\u003e \u003cp\u003eManaging Printers and Jobs in CUPS 360\u003c\/p\u003e \u003cp\u003eThe Bottom Line 361\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 3 Advanced Admin Functions 363\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17 Exploring Ubuntu Security 365\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLocking Down Root 365\u003c\/p\u003e \u003cp\u003eLooking at Linux Account Types 366\u003c\/p\u003e \u003cp\u003eGaining Super User Privileges 367\u003c\/p\u003e \u003cp\u003eUsing OpenSSH on Ubuntu 369\u003c\/p\u003e \u003cp\u003eExploring Basic SSH Concepts 370\u003c\/p\u003e \u003cp\u003eConfiguring SSH 372\u003c\/p\u003e \u003cp\u003eGenerating SSH Keys 373\u003c\/p\u003e \u003cp\u003eAuthenticating with SSH Keys 374\u003c\/p\u003e \u003cp\u003eThe AppArmor System 376\u003c\/p\u003e \u003cp\u003eNetwork Security Using Firewalls 380\u003c\/p\u003e \u003cp\u003eUnderstanding UFW 380\u003c\/p\u003e \u003cp\u003eConfiguring UFW 381\u003c\/p\u003e \u003cp\u003eThe Bottom Line 385\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 18 Exploring Red Hat Security 387\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWorking with Root Access 387\u003c\/p\u003e \u003cp\u003eKeeping Track of Root Logins 388\u003c\/p\u003e \u003cp\u003eDisabling Root Access from SSH 388\u003c\/p\u003e \u003cp\u003eEnabling Automatic Logout 389\u003c\/p\u003e \u003cp\u003eBlocking Root Access 390\u003c\/p\u003e \u003cp\u003eUsing SELinux 391\u003c\/p\u003e \u003cp\u003eEnabling SELinux 391\u003c\/p\u003e \u003cp\u003eUnderstanding Security Context 392\u003c\/p\u003e \u003cp\u003eUsing Policies 393\u003c\/p\u003e \u003cp\u003eNetwork Security Using Firewalls 395\u003c\/p\u003e \u003cp\u003eRed Hat Firewall Concepts 395\u003c\/p\u003e \u003cp\u003eChecking the Firewall Status 397\u003c\/p\u003e \u003cp\u003eWorking with Zones 398\u003c\/p\u003e \u003cp\u003eWorking with Firewall Rules 399\u003c\/p\u003e \u003cp\u003eThe Bottom Line 401\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 19 Writing Scripts 403\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBeginning a Shell Script 403\u003c\/p\u003e \u003cp\u003eCreating a Script File 403\u003c\/p\u003e \u003cp\u003eDisplaying Messages 405\u003c\/p\u003e \u003cp\u003eUsing Variables 407\u003c\/p\u003e \u003cp\u003eEnvironment Variables 407\u003c\/p\u003e \u003cp\u003eUser Variables 408\u003c\/p\u003e \u003cp\u003eCommand Substitution 409\u003c\/p\u003e \u003cp\u003eExiting the Script with Status 410\u003c\/p\u003e \u003cp\u003ePassing Parameters 411\u003c\/p\u003e \u003cp\u003eAdding Conditional Expressions 414\u003c\/p\u003e \u003cp\u003eWorking with the \u003ci\u003eif-then \u003c\/i\u003eStatement 414\u003c\/p\u003e \u003cp\u003eUsing Compound Tests 417\u003c\/p\u003e \u003cp\u003eWorking with the \u003ci\u003eif-then-else \u003c\/i\u003eStatement 418\u003c\/p\u003e \u003cp\u003eTrying the \u003ci\u003ecase \u003c\/i\u003eStatement 419\u003c\/p\u003e \u003cp\u003eUsing Loops 420\u003c\/p\u003e \u003cp\u003eLooking at the \u003ci\u003efor \u003c\/i\u003eCommand 420\u003c\/p\u003e \u003cp\u003eWorking with the \u003ci\u003ewhile \u003c\/i\u003eFormat 423\u003c\/p\u003e \u003cp\u003eUsing the \u003ci\u003euntil \u003c\/i\u003eCommand 424\u003c\/p\u003e \u003cp\u003eUsing Functions 427\u003c\/p\u003e \u003cp\u003eCreating Functions 427\u003c\/p\u003e \u003cp\u003eCalling Functions 427\u003c\/p\u003e \u003cp\u003eThe Bottom Line 430\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 20 Managing Web Servers 433\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLinux Web Servers 433\u003c\/p\u003e \u003cp\u003eApache 433\u003c\/p\u003e \u003cp\u003enginx 434\u003c\/p\u003e \u003cp\u003eThe Apache Web Server 435\u003c\/p\u003e \u003cp\u003eInstalling an Apache Server 435\u003c\/p\u003e \u003cp\u003eConfiguring the Apache Server 437\u003c\/p\u003e \u003cp\u003eHosting Dynamic Web Applications 445\u003c\/p\u003e \u003cp\u003eCreating a Secure Web Server 447\u003c\/p\u003e \u003cp\u003eThe nginx Server 448\u003c\/p\u003e \u003cp\u003eInstalling nginx 448\u003c\/p\u003e \u003cp\u003eConfiguring nginx 449\u003c\/p\u003e \u003cp\u003eThe Bottom Line 451\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 21 Managing Database Servers 453\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLinux Database Servers 453\u003c\/p\u003e \u003cp\u003eOrganizing the Data 454\u003c\/p\u003e \u003cp\u003eQuerying the Data 455\u003c\/p\u003e \u003cp\u003eControlling the Data 456\u003c\/p\u003e \u003cp\u003eInstalling and Using MySQL\/MariaDB 457\u003c\/p\u003e \u003cp\u003eConducting a MariaDB Installation 458\u003c\/p\u003e \u003cp\u003eAccessing a MariaDB Database 462\u003c\/p\u003e \u003cp\u003ePopulating and Using MariaDB Database 466\u003c\/p\u003e \u003cp\u003eInstalling and Using PostgreSQL 471\u003c\/p\u003e \u003cp\u003eConducting a PostgreSQL Installation 471\u003c\/p\u003e \u003cp\u003eAccessing a PostgreSQL Database 474\u003c\/p\u003e \u003cp\u003ePopulating and Using a PostgreSQL Database 477\u003c\/p\u003e \u003cp\u003eThe Bottom Line 478\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 22 Exploring the Virtualization Environment 481\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHypervisors 481\u003c\/p\u003e \u003cp\u003eManaging VMs 481\u003c\/p\u003e \u003cp\u003eCreating a Virtual Machine 483\u003c\/p\u003e \u003cp\u003eIntegrating via Linux Extensions 485\u003c\/p\u003e \u003cp\u003eContainers 486\u003c\/p\u003e \u003cp\u003eExploring Container Types 487\u003c\/p\u003e \u003cp\u003eLooking at Container Software 487\u003c\/p\u003e \u003cp\u003eOrganizing Containers 489\u003c\/p\u003e \u003cp\u003eSoftware Packaging 491\u003c\/p\u003e \u003cp\u003eLooking at Ubuntu Snap 491\u003c\/p\u003e \u003cp\u003eLooking at Flatpak 499\u003c\/p\u003e \u003cp\u003eThe Bottom Line 503\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix The Bottom Line 505\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChapter 1: Understanding the Basics 505\u003c\/p\u003e \u003cp\u003eChapter 2: Installing an Ubuntu Server 506\u003c\/p\u003e \u003cp\u003eChapter 3: Installing and Maintaining Software in Ubuntu 507\u003c\/p\u003e \u003cp\u003eChapter 4: Installing a Red Hat Server 509\u003c\/p\u003e \u003cp\u003eChapter 5: Installing and Maintaining Software in Red Hat 510\u003c\/p\u003e \u003cp\u003eChapter 6: Working with the Shell 512\u003c\/p\u003e \u003cp\u003eChapter 7: Exploring Linux File Management 513\u003c\/p\u003e \u003cp\u003eChapter 8: Working with Text Files 515\u003c\/p\u003e \u003cp\u003eChapter 9: Managing Hardware 516\u003c\/p\u003e \u003cp\u003eChapter 10: Booting Linux 517\u003c\/p\u003e \u003cp\u003eChapter 11: Working with Storage Devices 519\u003c\/p\u003e \u003cp\u003eChapter 12: Configuring Network Settings 520\u003c\/p\u003e \u003cp\u003eChapter 13: Managing Users and Groups 521\u003c\/p\u003e \u003cp\u003eChapter 14: Working with Processes and Jobs 523\u003c\/p\u003e \u003cp\u003eChapter 15: Managing Log Files 524\u003c\/p\u003e \u003cp\u003eChapter 16: Managing Printers 526\u003c\/p\u003e \u003cp\u003eChapter 17: Exploring Ubuntu Security 527\u003c\/p\u003e \u003cp\u003eChapter 18: Exploring Red Hat Security 528\u003c\/p\u003e \u003cp\u003eChapter 19: Writing Scripts 529\u003c\/p\u003e \u003cp\u003eChapter 20: Managing Web Servers 532\u003c\/p\u003e \u003cp\u003eChapter 21: Managing Database Servers 533\u003c\/p\u003e \u003cp\u003eChapter 22: Exploring the Virtualization Environment 535\u003c\/p\u003e \u003cp\u003eIndex 537\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer hardware [\u003ca title=\"See our other books on Computer hardware\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20hardware%20%5BUK%5D%22\"\u003eUK\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Sybex","offers":[{"title":"Brand New","offer_id":52509179150616,"sku":"9781119794455","price":28.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119794455.jpg?v=1786496292","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/mastering-linux-system-administration-paperback-softback-9781119794455","provider":"Freshly Printed Books","version":"1.0","type":"link"}