38,99 €
The best-selling, hands-on roadmap to acing the new Linux+ exam In the newly updated Fifth Edition of CompTIA Linux+ Study Guide: Exam XK0-005, IT industry veterans and tech education gurus Richard Blum and Christine Bresnahan deliver a concise and practical blueprint to success on the CompTIA Linux+ exam and in your first role as a Linux network or system administrator. In the book, you'll find concrete strategies and proven techniques to master Linux system management, security, scripting, containers, automation, and troubleshooting. Every competency tested on the Linux+ exam is discussed here. You'll also get: * Hands-on Linux advice that ensures you're job-ready on the first day of your new network or sysadmin role * Test-taking tips and tactics that decrease exam anxiety and get you ready for the challenging Linux+ exam * Complimentary access to the Sybex learning environment, complete with online test bank, bonus practice exams, electronic flashcards, and a searchable glossary Perfect for practicing network and system admins seeking an in-demand and valuable credential for working with Linux servers and computers, CompTIA Linux+ Study Guide: Exam XK0-005, Fifth Edition, will also earn a place in the libraries of people looking to change careers and start down an exciting new path in tech. And save 10% when you purchase your CompTIA exam voucher with our exclusive WILEY10 coupon code.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 1509
Veröffentlichungsjahr: 2022
Cover
Title Page
Copyright
Acknowledgments
About the Authors
About the Technical Editor
Table of Exercises
Introduction
The Exam Objectives
How to Contact the Publisher
Assessment Test
Answers to Assessment Test
PART I: Gathering Your Tools
Chapter 1: Preparing Your Environment
Setting Up a Learning Space
Exploring Linux Distributions
Locating a Terminal
Summary
Chapter 2: Introduction to Services
What Is a Linux Server?
Serving the Basics
Serving Local Networks
Implementing Security
Improving Performance
Summary
Exam Essentials
Review Questions
Chapter 3: Managing Files, Directories, and Text
Handling Files and Directories
Linking Files and Directories
Reading Files
Finding Information
Summary
Exam Essentials
Review Questions
Chapter 4: Searching and Analyzing Text
Processing Text Files
Redirecting Input and Output
Editing Text Files
Summary
Exam Essentials
Review Questions
PART II: Starting Up and Configuring Your System
Chapter 5: Explaining the Boot Process
The Linux Boot Process
The Firmware Startup
Linux Bootloaders
System Recovery
Summary
Exam Essentials
Review Questions
Chapter 6: Maintaining System Startup and Services
Looking at
init
Managing systemd Systems
Managing SysV init Systems
Digging Deeper into systemd
Summary
Exam Essentials
Review Questions
Chapter 7: Configuring Network Connections
Configuring Network Features
Command-Line Networking Tool
Basic Network Troubleshooting
Advanced Network Troubleshooting
Summary
Exam Essentials
Review Questions
Chapter 8: Comparing GUIs
Focusing on the GUI
Serving Up the GUI
Using Remote Desktops
Forwarding
Summary
Exam Essentials
Review Questions
Chapter 9: Adjusting Localization Options
Understanding Localization
Setting Your Locale
Looking at Time
Summary
Exam Essentials
Review Questions
PART III: Managing Your System
Chapter 10: Administering Users and Groups
Managing User Accounts
Managing Groups
Setting Up the Environment
Querying Users
Managing Disk Space Usage
Summary
Exam Essentials
Review Questions
Chapter 11: Handling Storage
Storage Basics
Partitioning Tools
Understanding Filesystems
Formatting Filesystems
Mounting Filesystems
Managing Filesystems
Storage Alternatives
Summary
Exam Essentials
Review Questions
Chapter 12: Protecting Files
Understanding Backup Types
Looking at Compression Methods
Comparing Archive and Restore Utilities
Securing Offsite/Off-System Backups
Checking Backup Integrity
Summary
Exam Essentials
Review Questions
Chapter 13: Governing Software
Working with Source Code
Packaging Applications
Using Application Containers
Summary
Exam Essentials
Review Questions
Chapter 14: Tending Kernel Modules
Exploring Kernel Modules
Installing Kernel Modules
Removing Kernel Modules
Summary
Exam Essentials
Review Questions
PART IV: Securing Your System
Chapter 15: Applying Ownership and Permissions
Looking at File and Directory Permissions
Access Control Lists
Context-Based Permissions
Understanding Linux User Types
Restricting Users and Files
Summary
Exam Essentials
Review Questions
Chapter 16: Looking at Access and Authentication Methods
Getting to Know PAM
Exploring PKI Concepts
Using SSH
Using VPN as a Client
Summary
Exam Essentials
Review Questions
Chapter 17: Implementing Logging Services
Understanding the Importance of Logging
Basic Logging Using
rsyslog
Journaling with
systemd-journald
Summary
Exam Essentials
Review Questions
Chapter 18: Overseeing Linux Firewalls
Providing Access Control
Looking at Firewall Technologies
Forwarding IP Packets
Dynamically Setting Rules
Summary
Exam Essentials
Review Questions
Chapter 19: Embracing Best Security Practices
User Security
Network Security
Summary
Exam Essentials
Review Questions
PART V: Troubleshooting Your System
Chapter 20: Analyzing System Properties and Remediation
Troubleshooting the Network
Troubleshooting Storage Issues
Troubleshooting the CPU
Troubleshooting Memory
Surviving a Lost Root Password
Summary
Exam Essentials
Review Questions
Chapter 21: Optimizing Performance
Looking at Processes
Monitoring Processes in Real Time
Managing Processes
Summary
Exam Essentials
Review Questions
Chapter 22: Investigating User Issues
Troubleshooting Access
Examining File Obstacles
Exploring Environment and Shell Issues
Summary
Exam Essentials
Review Questions
Chapter 23: Dealing with Linux Devices
Communicating with Linux Devices
Working with Devices
Using Hot-Pluggable Devices
Summary
Exam Essentials
Review Questions
Chapter 24: Troubleshooting Application and Hardware Issues
Dealing with Storage Problems
Uncovering Application Permission Issues
Analyzing Application Dependencies
Looking at SELinux Context Violations
Exploring Firewall Blockages
Troubleshooting Additional Hardware Issues
Summary
Exam Essentials
Review Questions
PART VI: Automating Your System
Chapter 25: Deploying Bash Scripts
The Basics of Shell Scripting
Advanced Shell Scripting
Writing Script Programs
Summary
Exam Essentials
Review Questions
Chapter 26: Automating Jobs
Running Scripts in Background Mode
Running Scripts without a Console
Sending Signals
Job Control
Running Like Clockwork
Summary
Exam Essentials
Review Questions
Chapter 27: Controlling Versions with Git
Understanding Version Control
Setting Up Your Git Environment
Committing with Git
Tags
Merging Versions
Summary
Exam Essentials
Review Questions
PART VII: Realizing Virtual and Cloud Environments
Chapter 28: Understanding Cloud and Virtualization Concepts
Considering Cloud Services
Understanding Virtualization
Exploring Containers
Summary
Exam Essentials
Review Questions
Chapter 29: Inspecting Cloud and Virtualization Services
Focusing on VM Tools
Understanding Bootstrapping
Exploring Storage Issues
Considering Network Configurations
Summary
Exam Essentials
Review Questions
Chapter 30: Orchestrating the Environment
Understanding Orchestration Concepts
Provisioning the Data Center
Looking at Container Orchestration Engines
Summary
Exam Essentials
Review Questions
Appendix: Answers to the Review Questions
Chapter 2: Introduction to Services
Chapter 3: Managing Files, Directories, and Text
Chapter 4: Searching and Analyzing Text
Chapter 5: Explaining the Boot Process
Chapter 6: Maintaining System Startup and Services
Chapter 7: Configuring Network Connections
Chapter 8: Comparing GUIs
Chapter 9: Adjusting Localization Options
Chapter 10: Administering Users and Groups
Chapter 11: Handling Storage
Chapter 12: Protecting Files
Chapter 13: Governing Software
Chapter 14: Tending Kernel Modules
Chapter 15: Applying Ownership and Permissions
Chapter 16: Looking at Access and Authentication Methods
Chapter 17: Implementing Logging Services
Chapter 18: Overseeing Linux Firewalls
Chapter 19: Embracing Best Security Practices
Chapter 20: Analyzing System Properties and Remediation
Chapter 21: Optimizing Performance
Chapter 22: Investigating User Issues
Chapter 23: Dealing with Linux Devices
Chapter 24: Troubleshooting Application and Hardware Issues
Chapter 25: Deploying Bash Scripts
Chapter 26: Automating Jobs
Chapter 27: Controlling Versions with Git
Chapter 28: Understanding Cloud and Virtualization Concepts
Chapter 29: Inspecting Cloud and Virtualization Services
Chapter 30: Orchestrating the Environment
Index
End User License Agreement
Chapter 1
TABLE 1.1 Hardware requirements for using a single distribution at a time
TABLE 1.2 Hardware requirements for using a virtualization product
Chapter 2
TABLE 2.1 Common Internet well-known port numbers
Chapter 3
TABLE 3.1 The
ls
command's commonly used options
TABLE 3.2 The
cp
command's commonly used options
TABLE 3.3 The
mv
command's commonly used options
TABLE 3.4 The
rsync
command's commonly used local copy options
TABLE 3.5 The
rm
command's commonly used options
TABLE 3.6 The
pr
command's useful file display options
TABLE 3.7 The
diff
command's commonly used options
TABLE 3.8 The
locate
command's commonly used options
TABLE 3.9 The
find
command's commonly used options and expressions
Chapter 4
TABLE 4.1 The
cut
command's commonly used options
TABLE 4.2 The
grep
command's commonly used options
TABLE 4.3 The
sort
command's commonly used options
TABLE 4.4 The
cat
command's commonly used options
TABLE 4.5 The
printf
command's commonly used
FORMAT
settings
TABLE 4.6 The
wc
command's commonly used options
TABLE 4.7 Commonly used redirection operators
TABLE 4.8 Commonly used
vim
command mode moving commands
TABLE 4.9 Commonly used
vim
Ex mode commands
TABLE 4.10 The
sed
command's commonly used options
TABLE 4.11 The
gawk
command's commonly used options
Chapter 5
TABLE 5.1 GRUB Legacy global commands
Chapter 6
TABLE 6.1 Commonly used system boot target unit files
TABLE 6.2 Commonly used service unit file
[Unit]
section directives
TABLE 6.3 Commonly used service unit file
[Service]
section directives
TABLE 6.4 Commonly used service unit file
[Install]
section directives
TABLE 6.5 Commonly used
systemctl
service management commands
TABLE 6.6 Convenient
systemctl
service status commands
TABLE 6.7 Operational statuses provided by
systemctl is-system-running
TABLE 6.8 Common
systemd-analyze
commands
TABLE 6.9 Red Hat–based distribution SysV init runlevels
TABLE 6.10 Debian-based distribution SysV init runlevels
TABLE 6.11 Commonly used
service
utility commands
TABLE 6.12 Commonly used
chkconfig
utility formats
TABLE 6.13 Commonly used timer unit file
[Timer]
section directives
Chapter 7
TABLE 7.1 Linux network configuration files
TABLE 7.2 The
ip
utility command options
TABLE 7.3 Network interface bonding modes
TABLE 7.4 The
netcat
command options
Chapter 8
TABLE 8.1 GNOME shell desktop environment default components
TABLE 8.2 KDE Plasma desktop environment default components
TABLE 8.3 Cinnamon desktop environment default components
TABLE 8.4 MATE desktop environment default components
TABLE 8.5 Common visual impairment accessibility settings
TABLE 8.6 Common hand and finger impairment accessibility settings
Chapter 9
TABLE 9.1 The
date
format command sequences
Chapter 10
TABLE 10.1 A few vital
/etc/login.defs
directives
TABLE 10.2 A few vital
/etc/default/useradd
directives
TABLE 10.3 The
/etc/passwd
file's record fields
TABLE 10.4 The
/etc/shadow
file's record fields
TABLE 10.5 The
useradd
command's commonly used options
TABLE 10.6 The
passwd
command's commonly used options
TABLE 10.7 The
usermod
command's commonly used options
TABLE 10.8 A few environment variables associated with a user environment
TABLE 10.9 The
id
command's commonly used options
Chapter 11
TABLE 11.1 Common
fdisk
commands
TABLE 11.2 Common
gdisk
commands
TABLE 11.3 Common Linux FHS folders
TABLE 11.4 Linux LVM commands
Chapter 12
TABLE 12.1 The
cpio
command's commonly used options
TABLE 12.2 The
tar
command's commonly used tarball creation options
TABLE 12.3 The
tar
command's commonly used archive verification options
TABLE 12.4 The
tar
command's commonly used file restore options
TABLE 12.5 The
dd
command's commonly used operands
TABLE 12.6 The
scp
command's commonly used copy options
TABLE 12.7 The
sftp
command's commonly used commands
Chapter 13
TABLE 13.1 Linux compression methods
TABLE 13.2 The
dpkg
command actions
TABLE 13.3 The
rpm
command actions
TABLE 13.4 The
apt
program action commands
TABLE 13.5 The
dnf
action commands
Chapter 15
TABLE 15.1 Octal mode permissions
TABLE 15.2 Results from common
umask
values for files and directories
TABLE 15.3 The
ulimit
command options
TABLE 15.4 Linux file and directory attributes
Chapter 16
TABLE 16.1
TYPE
in
/etc/pam.d/
configuration file records
TABLE 16.2 The
CONTROL-FLAG
settings for
/etc/pam.d/
configuration file reco...
TABLE 16.3 The
MODULE-OPTIONS
for password reuse prevention
TABLE 16.4 Common password quality directives in the
pwquality.conf
file
TABLE 16.5 Key
pam_tally2.so
and
pam_faillock.so
module options
TABLE 16.6 Various distros' OpenSSH package names
TABLE 16.7 Primary OpenSSH configuration files
Chapter 17
TABLE 17.1 The syslog protocol facility values
TABLE 17.2 The syslog protocol severity values
TABLE 17.3 The
journalctl
command options
TABLE 17.4 The
journalctl matches
parameter
Chapter 18
TABLE 18.1 The predefined
firewalld
zones
TABLE 18.2 The
iptables
command's commonly used options
TABLE 18.3 The
iptables
command's commonly used chain options
TABLE 18.4 The
ufw
commands to control state and view status
TABLE 18.5 The
ufw
command's commonly used arguments
TABLE 18.6 The
ufw
command's full syntax common settings
Chapter 19
TABLE 19.1 PAM password standard directives
TABLE 19.2 The PAM password complexity directives
Chapter 20
TABLE 20.1 Commands to check for high latency, saturation
TABLE 20.2 Basic
iperf
client-side options
TABLE 20.3 Commands to find failing/faulty network adapters
TABLE 20.4 Listing Wireshark GUI and
tshark
package names
TABLE 20.5 Commands to check for incorrect MAC mappings or duplicates
TABLE 20.6 Commands to research name server responses
TABLE 20.7 I/O schedulers
Chapter 21
TABLE 21.1 The top CPU categories
TABLE 21.2 The
top
interactive commands
TABLE 21.3 Linux process signals
Chapter 22
TABLE 22.1 Directory permission effects
Chapter 23
TABLE 23.1 The
lspci
command-line options
TABLE 23.2 The
lsusb
command options
TABLE 23.3 The
udevadm
commands
Chapter 25
TABLE 25.1 Condition tests
Chapter 26
TABLE 26.1 The
jobs
command parameters
TABLE 26.2 Commonly used timer unit file
[Timer]
section directives
Chapter 28
TABLE 28.1 The
docker
utility commands
Chapter 1
FIGURE 1.1 Learning space using Oracle VirtualBox
FIGURE 1.2 openSUSE tty3 terminal
Chapter 2
FIGURE 2.1 The Linux modular email environment
FIGURE 2.2 A sample LDAP directory tree
Chapter 3
FIGURE 3.1 The
tree
command output
FIGURE 3.2 Hard link file relationship
FIGURE 3.3 Soft-link file relationship
FIGURE 3.4 Using the
more
pager
FIGURE 3.5 Using the
less
pager
Chapter 4
FIGURE 4.1 Using the
nano
text editor
FIGURE 4.2 Using the
vim
text editor
Chapter 5
FIGURE 5.1 Editing an Ubuntu GRUB2 menu entry
FIGURE 5.2 The Rocky Linux Grub boot menu with multiple kernel options
Chapter 7
FIGURE 7.1 Network Manager showing a wireless network connection
FIGURE 7.2 The Network Connections window
FIGURE 7.3 The Network Manager
nmtui
command-line tool
FIGURE 7.4 Using
mtr
to monitor network connectivity to a server
FIGURE 7.5 The
wireshark
network analysis window
Chapter 8
FIGURE 8.1 The GNOME Shell desktop environment
FIGURE 8.2 The KDE Plasma desktop environment
FIGURE 8.3 The Cinnamon desktop environment
FIGURE 8.4 The MATE desktop environment
FIGURE 8.5 Universal Access top panel menu in GNOME Shell
FIGURE 8.6 Serving the GUI components
FIGURE 8.7 Using TigerVNC
FIGURE 8.8 Using Xrdp
FIGURE 8.9 Using local SSH port forwarding with TigerVNC
FIGURE 8.10 Forwarding X11
Chapter 9
FIGURE 9.1 The language option in a Rocky Linux 8 installation
Chapter 10
FIGURE 10.1 Adding a user account
Chapter 11
FIGURE 11.1 The GParted interface
FIGURE 11.2 The Linux virtual directory structure divided between two drives...
FIGURE 11.3 The Linux LVM layout
Chapter 13
FIGURE 13.1 The Ubuntu Software package graphical tool
FIGURE 13.2 The Rocky Linux software package graphical tool
Chapter 15
FIGURE 15.1 File and directory permissions as displayed in the
ls
output
Chapter 16
FIGURE 16.1 The PAM module stack process
FIGURE 16.2 Asymmetric encryption example
Chapter 18
FIGURE 18.1 The packet processing chain
Chapter 21
FIGURE 21.1 The output of the
top
command
FIGURE 21.2 The output from the
htop
command tree view
Chapter 23
FIGURE 23.1 The standard Linux graphics environment
FIGURE 23.2 The CUPS main web page
Chapter 27
FIGURE 27.1 Conceptual depiction of the Git environment
FIGURE 27.2 MWGuard remote repository
Chapter 28
FIGURE 28.1 Cloud computing methods
FIGURE 28.2 The IaaS cloud model
FIGURE 28.3 The PaaS cloud model
FIGURE 28.4 The SaaS cloud model
FIGURE 28.5 Separating application resources
FIGURE 28.6 Server virtualization concept
FIGURE 28.7 Type I hypervisors
FIGURE 28.8 Type II hypervisors
FIGURE 28.9 Running an application in a container
Chapter 29
FIGURE 29.1 Virtual Machine Manager
FIGURE 29.2 Virtual machine using a virtual switch
FIGURE 29.3 Virtual proxy server
Chapter 30
FIGURE 30.1 Basic app container life cycle
Cover
Table of Contents
Title Page
Copyright
Acknowledgments
About the Authors
About the Technical Editor
Table of Exercises
Introduction
Begin Reading
Appendix: Answers to the Review Questions
Index
End User License Agreement
v
vi
vii
ix
xi
xxix
xxxi
xxxii
xxxiii
xxxiv
xxxv
xxxvi
xxxvii
xxxviii
xxxix
xl
xli
xlii
xliii
xliv
xlv
xlvi
xlvii
xlviii
xlix
l
li
lii
liii
liv
lv
lvi
lvii
lviii
lix
lx
lxi
lxii
lxiii
1
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
131
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
289
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
437
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
571
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
771
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
Fifth Edition
Richard Blum
Christine Bresnahan
Copyright © 2022 by John Wiley & Sons, Inc. All rights reserved.
Published by John Wiley & Sons, Inc., Hoboken, New Jersey.
Published simultaneously in Canada.
978-1-119-87894-0978-1-119-87895-7 (ebk.)978-1-119-87896-4 (ebk.)
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4470, or on the web at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at www.wiley.com/go/permission.
Trademarks: WILEY, the Wiley logo, and the Sybex logo are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. CompTIA is a registered trademark of the Computing Technology Industry Association, Inc. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Website is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Website may provide or recommendations it may make. Further, readers should be aware the Internet Websites listed in this work may have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic formats. For more information about Wiley products, visit our web site at www.wiley.com.
Library of Congress Control Number: 2022930210
Cover image: © Jeremy Woodhouse/Getty Images
Cover design: Wiley
First, all glory and praise go to God, who through His Son, Jesus Christ, makes all things possible and gives us the gift of eternal life.
Many thanks go to the fantastic team of people at Sybex for their outstanding work on this project. Thanks to Kenyon Brown, the senior acquisitions editor, for offering us the opportunity to work on this book. Also thanks to Kim Wimpsett, the development editor, for keeping things on track and making the book more presentable. Thanks, Kim, for all your hard work and diligence. The technical proofreader, David Clinton, did a wonderful job of double-checking all of the work in the book in addition to making suggestions to improve the content. Thanks also goes to the young and talented Daniel Anez (theanez.com) for his illustration work. We would also like to thank Carole Jelen at Waterside Productions, Inc., for arranging this opportunity for us and for helping us out in our writing careers.
Rich would particularly like to thank his wife Barbara for enduring his grouchy attitude during this project and helping to keep up his spirits with baked goods.
Richard Blum, CompTIA Linux+ ce, CompTIA Security+ ce, LPIC-1, has also worked in the IT industry for more than 35 years as both a system and network administrator, and he has published numerous Linux and open source books. Rich is an online instructor for Linux and web programming courses that are used by colleges and universities across the United States. When he is not being a computer nerd, Rich enjoys spending time with his wife Barbara and his two daughters, Katie and Jessica.
Christine Bresnahan, CompTIA Linux+, LPIC-1, started working with computers more than 35 years ago in the IT industry as a system administrator. Christine is an adjunct professor at Ivy Tech Community College, where she teaches Linux certification and Python programming classes. She also writes books and produces instructional resources for the classroom.
David Clinton is a Linux Server Professional and an Amazon Web Services (AWS) solutions architect with 10 years’ experience teaching technology subjects. Besides his books (Wiley/Sybex, Manning, and independently published), he's created dozens of video courses for Pluralsight. He works with Linux administration, AWS, data analytics, security, and server virtualization.
Exercise 5.1
Using Rescue Mode
Exercise 7.1
Determining the Network Environment
Exercise 8.1
Checking Your Display Server
Exercise 9.1
Experimenting with Time
Exercise 11.1
Experimenting with Filesystems
Exercise 13.1
Working with Packages
Exercise 15.1
Creating a Shared Directory
Exercise 17.1
Creating a Log or Journal Entry
Exercise 19.1
Creating an Encrypted Disk
Exercise 21.1
Managing a Running Process
Exercise 23.1
Adding a USB Storage Device to the Linux System
Exercise 24.1
Troubleshooting Application Permission Issues
Exercise 25.1
Writing a Bash Script to View the Password Information for System Users
Exercise 26.1
Manipulating Jobs from the Command Line
Exercise 28.1
Working with Containers
Linux has become one of the fastest-growing operating systems used in server environments. Most companies utilize some type of Linux system within their infrastructure, and Linux is one of the major players in the cloud computing world. The ability to build and manage Linux systems is a skill that many companies are now looking for. The more you know about Linux, the more marketable you'll become in today's computer industry.
The purpose of this book is to provide you with the knowledge and skills you need to succeed in the Linux world.
The CompTIA Linux+ exam has become a benchmark in the computer industry as a method of demonstrating skills with the Linux operating system. Obtaining CompTIA Linux+ certification means that you're comfortable working in a Linux environment and have the skills necessary to install and maintain Linux systems.
Previously, CompTIA had partnered with the Linux Professional Institute (LPI) to produce the Linux+ certification exams. However, with the release of exam XK0-004 in 2019 CompTIA moved to creating its own exam, and has continued that with the updated XK0-005 exam. The updated Linux+ certification is still a single exam that covers hands-on components of operating a Linux system. The updated Linux+ exam focuses on four areas of Linux:
System management
Security
Scripting, containers, and automation
Troubleshooting
The XK0-005 exam uses performance-based, multiple-choice, and multiple-answer questions to identify employees who can perform the job of Linux system administrator. The exam covers tasks associated with all major Linux distributions, not focusing on any one specific distribution. It consists of 90 questions, and you will have 90 minutes to complete it.
With the growing popularity of Linux (and the increase in Linux-related jobs) comes hype. With all of the hype that surrounds Linux, it's become hard for employers to distinguish employees who are competent Linux administrators from those who just know the buzzwords. This is where Linux+ certification comes in.
With a Linux+ certification, you will establish yourself as a Linux administrator who is familiar with the Linux platform and can install, maintain, and troubleshoot any type of Linux system. By changing the exam to be more performance based, CompTIA has established the new Linux+ exam as a way for employers to have confidence in knowing their employees who pass the exam will have the skills necessary to get the job done.
The Linux+ certification is available for anyone who passes the XK0-005 exam. There are no prerequisites to taking the exam, but CompTIA recommends having either the A+ and Network+ certifications or a similar amount of experience, along with at least 12 months of hands-on Linux administrator experience.
Pearson VUE administers the exam. The exam can be taken at any Pearson VUE testing center. To register for the exam, call Pearson VUE at (877) 619-2096, or register online at http://home.pearsonvue.com/comptia.
After you take the exam, you will be immediately notified of your score. If you pass, you will get a certificate in the mail showing your Linux+ certification credentials along with a verification number that employers can use to verify your credentials online.
The Linux+ exam is part of CompTIA's Continuing Education (CE) track of exams. It's valid for three years, but it can be renewed by acquiring an appropriate number of continuing education units (CEUs) and paying a yearly fee.
While anyone who wants to pass the Linux+ certification exams would benefit from this book, that's not the only reason for purchasing it. This book covers all the material someone new to the Linux world would need to know to start out in Linux. After you've become familiar with the basics of Linux, the book will serve as an excellent reference for quickly finding answers to everyday Linux questions.
The book is written with the assumption that you have a familiarity with basic computer and networking principles. No experience with Linux is required to benefit from this book, but it will help if you know your way around a computer in either the Windows or macOS world, such as how to use a keyboard, use optical disks, and work with USB thumb drives.
It will also help to have a Linux system available to follow along with. Many chapters contain a simple exercise that will walk you through the basic concepts presented in the chapter. This provides the crucial hands-on experience that you'll need to both pass the exam and do well in the Linux world.
While the CompTIA Linux+ exam is Linux distribution neutral, it's impossible to write exercises that work in all Linux distributions. That said, the exercises in this book assume you have either Ubuntu 20.04 LTS or Rocky Linux 8 available. You can install either or both of these Linux distributions in a virtual environment using the Oracle VirtualBox software, available at https://virtualbox.org.
This book consists of 30 chapters organized around the different objective areas of the Linux+ exam:
Chapter 1
, “Preparing Your Environment,” helps you with finding and installing a Linux distribution to use for experimenting with Linux and working on the exercises in the book.
Chapter 2
, “Introduction to Services,” introduces you to the different server applications and uses you'll commonly see in Linux.
Chapter 3
, “Managing Files, Directories, and Text,” covers the basic Linux commands for working with files and directories from the command line.
Chapter 4
, “Searching and Analyzing Text,” discusses the different tools Linux provides for working with text files.
Chapter 5
, “Explaining the Boot Process,” takes you into the inner processes of how the Linux operating system starts, showing you how to customize the Linux boot process.
Chapter 6
, “Maintaining System Startup and Services,” walks you through how the Linux system starts applications at boot time by discussing the two methods used for controlling program startups.
Chapter 7
, “Configuring Network Connections,” shows how to get your Linux system working on a local area network, along with the tools available to help troubleshoot network problems on your Linux system.
Chapter 8
, “Comparing GUIs,” discusses the graphical desktop environments available in Linux.
Chapter 9
, “Adjusting Localization Options,” shows how to change the character set and date/time formats for your Linux system to accommodate the different formats used in various countries.
Chapter 10
, “Administering Users and Groups,” explores how Linux handles user accounts and how you can assign users to groups to manage access to files and directories.
Chapter 11
, “Handling Storage,” examines the storage methods and formats available in the Linux system.
Chapter 12
, “Protecting Files,” dives into the world of data backups, archiving, and restoring.
Chapter 13
, “Governing Software,” explains how Linux manages software applications and how to install software packages on the various Linux distribution types.
Chapter 14
, “Tending Kernel Modules,” discusses how Linux uses kernel modules to support hardware and how you can manage the kernel modules on your Linux system.
Chapter 15
, “Applying Ownership and Permissions,” explores the multiple methods available for protecting files and directories on a Linux system. It discusses the standard Linux-style permissions as well as the more advanced SELinux and AppArmor applications used to provide more advanced security for Linux systems.
Chapter 16
, “Looking at Access and Authentication Methods,” explores the methods Linux can use to authenticate user accounts, both locally and in network environments.
Chapter 17
, “Implementing Logging Services,” shows how Linux logs system events and how you can use the Linux system logs for troubleshooting problems on your Linux system.
Chapter 18
, “Overseeing Linux Firewalls,” walks you through how to protect your Linux system in a network environment.
Chapter 19
, “Embracing Best Security Practices,” discusses various common methods you can implement to make your Linux environment more secure.
Chapter 20
, “Analyzing System Properties and Remediation,” explores the methods you have available to troubleshoot different types of Linux problems. This includes network issues, storage issues, and operating system issues.
Chapter 21
, “Optimizing Performance,” discusses how Linux handles running applications and the tools you have available to control how those applications behave.
Chapter 22
, “Investigating User Issues,” explores how to troubleshoot and fix common user-related issues, such as the inability to access specific files or directories on the system.
Chapter 23
, “Dealing with Linux Devices,” walks you through the types of hardware devices Linux supports and how best to get them working on your Linux system.
Chapter 24
, “Troubleshooting Application and Hardware Issues,” focuses on troubleshooting methods for solving storage, application, and network problems that may occur on your Linux system.
Chapter 25
, “Deploying Bash Scripts,” discusses how to create your own scripts to automate common tasks in Linux.
Chapter 26
, “Automating Jobs,” follows up on the topic of Bash scripts by showing you how to schedule your scripts to run at specific times of the day, week, month, or year.
Chapter 27
, “Controlling Versions with Git,” explores the world of software version control and demonstrates how you can use the common Git version control software to manage your own applications and scripts.
Chapter 28
, “Understanding Cloud and Virtualization Concepts,” walks you through the basics of what the cloud is and how to use Linux to create your own cloud computing environment.
Chapter 29
, “Inspecting Cloud and Virtualization Services,” demonstrates how to implement cloud computing software in Linux.
Chapter 30
, “Orchestrating the Environment,” discusses how you can use containers and orchestration engines in your Linux environment to control application development environments and deploy applications in controlled environments.
We've included several study learning tools throughout the book:
Assessment Test.
At the end of this introduction is an assessment test that you can take to check your level of Linux skills. Take the test before you start reading the book; it will help you determine the areas in which you need extra help. The answers to the questions appear on a separate page after the last question in the test. Each answer includes an explanation and a note telling you the chapter in which the material appears.
Objective Map and Opening List of Objectives.
An objective map shows you where each of the Linux+ exam objectives is covered in this book. Also, each chapter opens with a note as to which objective it covers. Use these to see exactly where each of the exam topics is covered.
Exam Essentials.
At the end of each chapter, after the summary, is a list of exam essentials covered in the chapter. These are the key topics you should take from the chapter as you prepare for the exam.
Chapter Review Questions.
To test your knowledge as you progress through the book, there are review questions at the end of each chapter. As you finish each chapter, answer the review questions, and then check your answers against the answers provided in
Appendix
. You can then go back and reread any sections that detail the topics of the questions you missed.
The assessment test, review questions, and other testing elements included in this book are not derived from the actual Linux+ exam questions, so don't memorize the answers to these questions and assume you will pass the exam. You should learn the underlying topics, as described in the text of the book. This will help you answer the questions provided with this book and pass the exam. Learning the underlying topics is also the approach that will serve you best in the workplace, the ultimate goal of the certification.
To get the most out of this book, you should read each chapter from start to finish and then check your memory and understanding with the chapter review questions. Even if you're already familiar with a topic, it will help to review the material in the chapter. In Linux there are often multiple ways to accomplish a task. Become familiar with the different methods to help with the Linux+ exam.
The interactive online learning environment that accompanies the book provides a test bank with study tools to help you prepare for the certification exam and increase your chances of passing it the first time. The test bank includes the following:
Sample Tests.
All of the questions in this book are provided, including the assessment test, which you'll find at the end of this introduction, and the chapter tests that include the review questions at the end of each chapter. In addition, there is a practice exam. Use these questions to test your knowledge of the study guide material. The online test bank runs on multiple devices.
Flashcards.
Questions are provided in digital flashcard format (a question followed by a single correct answer). You can use the flashcards to reinforce your learning and provide last-minute test prep before the exam.
Other Study Tools.
A glossary of key terms from this book and their definitions are available as a fully searchable PDF.
Like all exams, the Linux+ certification from CompTIA is updated periodically and may eventually be retired or replaced. At some point after CompTIA is no longer offering this exam, the old editions of our books and online tools will be retired. If you have purchased this book after the exam was retired, or you are attempting to register in the Sybex online learning environment after the exam was retired, please know that we make no guarantees that this exam's online Sybex tools will be available once the exam is no longer available.
Go to www.wiley.com/go/sybextestprep to register and gain access to this interactive online learning environment and test bank with study tools.
This book uses certain typographic styles in order to help you quickly identify important information and avoid confusion over the meaning of words such as onscreen prompts. In particular, look for the following styles:
Italicized text
indicates key terms that are described at length for the first time in a chapter. (Italics are also used for emphasis.)
A monospaced font
indicates the contents of configuration files, messages displayed at text-mode Linux shell prompts, filenames, text-mode command names, and Internet URLs.
Italicized
monospace
text
indicates a variable, or information that differs from one system or command run to another, such as the name of a file or a process ID number.
Bold monospace text
is information that you're to type into the computer, usually at a Linux shell prompt. This text can also be italicized to indicate that you should substitute an appropriate value for your system. (When isolated on their own lines, commands are preceded by nonbold monospace $ or # command prompts, denoting regular user or system administrator user, respectively.)
In addition to these text conventions, which can apply to individual words or entire paragraphs, a few conventions highlight segments of text, as in the following examples:
A note indicates information that's useful or interesting but that's somewhat peripheral to the main text. A note might be relevant to a small number of networks, for instance, or it may refer to an outdated feature.
A tip provides information that can save you time or frustration and that may not be entirely obvious. A tip might describe how to get around a limitation or how to use a feature to perform an unusual task.
Warnings describe potential pitfalls or dangers. If you fail to heed a warning, you may end up spending a lot of time recovering from a bug, or you may even end up restoring your entire system from scratch.
A sidebar is like a note but longer. The information in a sidebar is useful, but it doesn't fit into the main flow of the text.
A case study is a real-world scenario, a type of sidebar that describes a task or an example that's particularly grounded in the real world. This may be a situation we or somebody we know has encountered, or it may be advice on how to work around problems that are common in real-world, working Linux environments.
An exercise is a procedure that you should try on your own computer to help you learn about the material in the chapter. Don't limit yourself to the procedures described in the exercises, though. Try other commands and procedures to truly learn about Linux.
The exam objectives define the topics you can expect to find on the CompTIA Linux+ exam. The exam developers have determined that these topics are relevant to the skills necessary to become a competent Linux administrator and have based the exam questions on your ability to demonstrate your knowledge in these topics. The official CompTIA Linux+ XK0-005 exam topics are listed here, along with references to where you can find them covered in the book.
Filesystem Hierarchy Standard (FHS)
Basic boot process
Kernel panic
Device types in
/dev
Basic package compilation from source
Storage concepts
Listing hardware information
File editing
File compression, archiving, and backup
File metadata
Soft and hard links
Copying files between systems
File and directory operations
Disk partitioning
Mounting local and remote devices
Filesystem management
Monitoring storage space and disk usage
Creating and modifying volumes using Logical Volume Manager (LVM)
Inspecting RAID implementations
Storage area network (SAN)/network-attached storage (NAS)
Storage hardware
System services
Scheduling services
Process management
Interface management
Name resolution
Network monitoring
Remote networking tools
Package management
Sandboxed applications
System updates
Updating configuration files
Configure kernel options
Configure common system services
Managing public key infrastructure (PKI) certificates
Certificate use cases
Authentication
Linux hardening
Account creation and deletion
Account management
Firewall use cases
Common firewall technologies
Key firewall features
SSH
Executing commands as another user
File permissions
Security-enhanced Linux (SELinux)
AppArmor
Command-line utilities
Shell script elements
Standard stream redirection
Common script utilities
Environment variables
Container management
Container image operations
Common Git uses
Git commands
File formats
Utilities
Continuous integration/continuous deployment (CI/CD)
Advanced Git topics
Kubernetes benefits and application use cases
Single-node, multicontainer use cases
Container persistent storage
Container networks
Service mesh
Bootstrapping
Container registries
High latency
Low throughput
Input/output operations per second (IOPS) scenarios
Capacity issues
Filesystem issues
I/O scheduler
Device issues
Mount options problems
Network configuration issues
Firewall issues
Interface errors
Bandwidth limitations
Name resolution issues
Testing remote systems
Runaway processes
Zombie processes
High CPU utilization
High load average
High run queues
CPU times
CPU process priorities
Memory exhaustion
Out of memory (OOM)
Swapping
Hardware
User login issues
User file access issues
Password issues
Privilege escalation
Quota issues
Unit files
Common systemd problems
If you believe you've found a mistake in this book, please bring it to our attention. At John Wiley & Sons, we understand how important it is to provide our customers with accurate content, but even with our best efforts an error may occur.
In order to submit your possible errata, please email it to our Customer Service Team at [email protected] with the subject line “Possible Book Errata Submission.”
What software package allows a Linux server to share folders and printers with Windows and Mac clients?
Postfix
Apache
Samba
Kerberos
Docker
Which software package allows developers to deploy applications using the exact same environment in which they were developed?
Postfix
Apache
Samba
Kerberos
Docker
The
cat -n File.txt
command is entered at the command line. What will be the result?
The text file
File.txt
will be displayed.
The text file
File.txt
will be displayed along with any special hidden characters in the file.
The text file
File.txt
will be displayed along with any special symbols representing end-of-line characters.
The text file
File.txt
will be displayed along with line numbers.
The text file
File.txt
will be displayed in reverse order.
Which of the following are stream editors? (Choose all that apply.)
vim
sed
awk
gawk
nano
Which command in GRUB2 defines the location of the
/boot
folder to the first partition on the first hard drive on the system?
set root=hd(0,1)
set root=hd(1,0)
set root=hd(1,1)
set root=hd(0,0)
set root=first
If you see read or write errors appear in the system log, what tool should you use to correct any bad sections of the hard drive?
mount
unmount
fsck
dmesg
mkinitrd
The
init
program is started on a Linux system and has a process ID number. What typically is that process's ID number?
0
1
2
10
Unknown
You need to determine the default target of a systemd system. Which of the following commands should you use?
grep initdefault /etc/inittab
runlevel
systemctl is-enabled
systemd get-target
systemctl get-default
The Cinnamon desktop environment uses which window manager?
Mutter
Muffin
Nemo
Dolphin
LightDM
Your X11 session has become hung. What keystrokes do you use to restart the session?
Ctrl+C
Ctrl+Z
Ctrl+Q
Ctrl+Alt+Delete
Ctrl+Alt+Backspace
What folder contains the time zone template files in Linux?
/
etc/timezone
/
etc/localtime
/
usr/share/zoneinfo
/
usr/share/timezone
/
usr/share/localtime
What systemd command allows you to view and change the time, date, and time zone?
timedatectl
localectl
date
time
locale
Which of the following files contain user account creation directives used by the
useradd
command? (Choose all that apply.)
The
/etc/default/useradd
file
The
/etc/useradd
file
The
/etc/adduser.conf
file
The
/etc/login.defs
file
The
/etc/login.def
file
You need to display the various quotas on all your filesystems employing quota limits. Which of the following commands should you use?
edquota -t
quotaon -a
quotacheck -cu
quotacheck -cg
repquota -a
What drive and partition does the raw device file
/dev/sdb1
reference?
The first partition on the second SCSI storage device
The second partition on the first SCSI storage device
The first partition on the second PATA storage device
The second partition on the first PATA storage device
The second partition on the second SATA storage device
What tool creates a logical volume from multiple physical partitions?
mkfs
pvcreate
lvcreate
fdisk
vgcreate
Which of the following can be used as backup utilities? (Choose all that apply.)
The
gzip
utility
The
zip
utility
The
tar
utility
The
rsync
utility
The
dd
utility
A system administrator has created a backup archive and transferred the file to another system across the network. Which utilities can be used to check the archive files integrity? (Choose all that apply.)
The
rsync
utility
The
md5sum
utility
The
sftp
utility
The
scp
utility
The
sha512sum
utility
What tool should you use to install a DEB package file?
dpkg
tar
gcc
rpm
gzip
What tool do you use to install an RPM package file?
dpkg
tar
gcc
rpm
gzip
The
lsmod
utility provides the same information as what other utility or file(s)?
The
modinfo
utility
The
/proc/modules
file
The
/etc/modules.conf
file
The
insmod
utility
The
/run/modprobe.d/*.conf
files
Which utility should be used to remove a module along with any dependent modules?
The
rmmod
utility
The
modinfo
utility
The
cut
utility
The
depmod
utility
The
modprobe
utility
What special bit should you set to prevent users from deleting shared files created by someone else?
SUID
GUID
Sticky bit
Read
Write
What command can you use to change the owner assigned to a file?
chmod
chown
chage
ulimit
chgrp
Which directory contains the various PAM configuration files?
The
/etc/pam/
directory
The
/etc/pam_modules/
directory
The
/etc/modules/
directory
The
/etc/pam.d/
directory
The
/etc/pam_modules.d/
directory
Which of the following can override the settings in the
~/.ssh/config
file?
The settings in the
/etc/ssh/ssh_config
file.
The
ssh
utility's command-line options.
You cannot override the settings in this file.
The settings in the
/etc/ssh/sshd_config
file.
The settings in the
sshd
daemon's configuration file.
What command can you use to display new entries in a log file in real time as they occur?
head
tail
tail -f
head -f
vi
What command do you use to display entries in the
systemd-journald
journal?
journalctl
syslogd
klogd
systemd-journald
vi
The
/etc/services
file may be used by firewalls for what purpose?
To designate what remote services to block
To store their ACL rules
To map a service name to a port and protocol
To determine if the port can be accessed
To designate what local services can send out packets
Which of the following is true about
netfilter
? (Choose all that apply.)
It is used by firewalld.
It is used by UFW.
It provides code hooks into the Linux kernel for firewall technologies to use.
It is used by
iptables
.
It provides firewall services without the need for other applications.
Which of the following is a measurement of the maximum amount of data that can be transferred over a particular network segment?
Bandwidth
Throughput
Saturation
Latency
Routing
