Cover: LPIC-1 Linux Professional Institute Certification Study Guide, Fifth Edition by Christine Bresnahan

LPIC-1®
Linux Professional
Institute Certification

Study Guide

Fifth Edition

Wiley Logo

Christine Bresnahan

Richard Blum


Wiley Logo

Acknowledgments

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 Stephanie Barton, the development editor, for keeping things on track and making the book more presentable. Thanks Steph, for all your hard work and diligence. The technical editor, 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.

Christine would particularly like to thank her husband, Timothy, for his encouragement, patience, and willingness to listen, even when he has no idea what she is talking about. Christine would also like to express her love for Samantha and Cameron, “May God bless your marriage richly.”

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.

About the Authors

Christine Bresnahan, CompTIA Linux+, started working with computers more than 30 years ago in the IT industry as a systems 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.

Richard Blum, CompTIA Linux+ ce, CompTIA Security+ ce, has also worked in the IT industry for more than 30 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.

Table of Exercises

  1. Exercise 8.1 Determining the Network Environment
  2. Exercise 9.1 Writing a Bash Script to View the Password Information for System Users

Introduction

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 Linux Professional Institute (LPI) has developed a series of certifications to help guide you through a career in the Linux world. Its LPIC-1 certification is an introductory certification for people who want to enter careers involving Linux. The exam is meant to certify that you have the skills necessary to install, operate, and troubleshoot a Linux system and are familiar with Linux-specific concepts and basic hardware.

The purpose of this book is to help you pass the LPIC-1 exams (101 and 102), updated in 2019 to version 5 (commonly called 101-500 and 102-500). Because these exams cover basic Linux installation, configuration, maintenance, applications, networking, and security, those are the topics that are emphasized in this book. You’ll learn enough to get a Linux system up and running and to configure it for many common tasks. Even after you’ve taken and passed the LPIC-1 exams, this book should remain a useful reference.

Why Become Linux Certified?

With the growing popularity of Linux (and the increase in Linux-related jobs) comes hype. With all 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 the LPIC-1 certification comes in.

With an LPIC-1 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. LPI has created the LPIC-1 exams 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.

How to Become Certified

The certification is available to anyone who passes the two required exams: 101 and 102. The current versions of the exams are version 5 and are denoted as 101-500 and 102-500.

The exam is administered by Pearson VUE. The exam can be taken at any Pearson VUE testing center. If you pass, you will get a certificate in the mail saying that you have passed. Contact (877) 619-2096 for Pearson VUE contact information.

imagesTo register for the exam with Pearson VUE, call (877) 619-2096 or register online at www.vue.com. However you do it, you’ll be asked for your name, mailing address, phone number, employer, when and where you want to take the test (i.e., which testing center), and your credit card number (arrangement for payment must be made at the time of registration).

Who Should Buy This Book

Anyone who wants to pass the LPIC-1 certification exams would benefit from this book, but that’s not the only reason for purchasing the book. This book covers all of 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 book for quickly finding answers to your everyday Linux questions.

The book is written with the assumption that you have a familiarity with basic computer and networking principles. Although no experience with Linux is required in order to benefit from this book, 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. Each chapter contains 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, both to pass the exam and to do well in the Linux world.

images While the LPI LPIC-1 exams are 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 18.04 LTS or CentOS 7 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.

How This Book Is Organized

This book consists of 10 chapters plus supplementary information: an online glossary, this introduction, and the assessment test after the introduction. The chapters are organized as follows:

Chapters 1 through 5 cover the 101-500 exam, and Chapters 6 through 10 cover the 102-500 exam. These make up Part I and Part II of the book, respectively.

Each chapter begins with a list of the exam objectives that are covered in that chapter. The book doesn’t cover the objectives in order. Thus, you shouldn’t be alarmed at some of the odd ordering of the objectives within the book. At the end of each chapter, you’ll find a couple of elements you can use to prepare for the exam:

Exam Essentials This section summarizes important information that was covered in the chapter. You should be able to perform each of the tasks or convey the information requested.

Review Questions Each chapter concludes with 20 review questions. You should answer these questions and check your answers against the ones provided after the questions. If you can’t answer at least 80 percent of these questions correctly, go back and review the chapter or at least those sections that seem to be giving you difficulty.

images The review questions, assessment test, and other testing elements included in this book are not derived from the actual exam questions, so don’t memorize the answers to these questions and assume that doing so will enable you to pass the exam. You should learn the underlying topic, as described in the text of the book. This will let you answer the questions provided with this book and pass the exam. Learning the underlying topic is also the approach that will serve you best in the workplace—the ultimate goal of a 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-end elements. Even if you’re already familiar with a topic, you should skim the chapter; Linux is complex enough that there are often multiple ways to accomplish a task, so you may learn something even if you’re already competent in an area.

Additional Study Tools

Readers of this book can access a website that contains several additional study tools, including the following:

images Readers can access these tools by visiting www.sybex.com/go/lpic5e.

Sample Tests All of the questions in this book will be included, along with the assessment test at the end of this introduction and the 200 questions from the review sections at the end of each chapter. In addition, there are two 50-question bonus exams. The test engine runs on Windows, Linux, and macOS.

Electronic Flashcards The additional study tools include 150 questions in flashcard format (a question followed by a single correct answer). You can use these to review your knowledge of the exam objectives. The flashcards run on both Windows and Linux.

Glossary of Terms as a PDF File In addition, there is a searchable glossary in PDF format, which can be read on all platforms that support PDF.

Conventions Used in This Book

This book uses certain typographic styles in order to help you quickly identify important information and to avoid confusion over the meaning of words such as on-screen prompts. In particular, look for the following styles:

In addition to these text conventions, which can apply to individual words or entire paragraphs, a few conventions highlight segments of text:

images 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.

 

images 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.

 

images 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.

 

Exercise

Exercise

An exercise is a procedure 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 really learn about Linux.

 

image
Real-World Scenario

A real-world scenario is a type of sidebar that describes a task or 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, working Linux environments.

The Exam Objectives

Behind every computer industry exam you can be sure to find exam objectives—the broad topics in which exam developers want to ensure your competency. The official exam objectives are listed here. (They’re also printed at the start of the chapters in which they’re covered.)

images Exam objectives are subject to change at any time without prior notice and at LPI’s sole discretion. Please visit LPI’s website (www.lpi.org) for the most current listing of exam objectives.

Exam 101-500 Objectives

The following are the areas in which you must be proficient in order to pass the 101-500 exam. This exam is broken into four topics (101–104), each of which has three to eight objectives. Each objective has an associated weight, which reflects its importance to the exam as a whole. Refer to the LPI website to view the weights associated with each objective. The four main topics are:

Subject Area
101 System Architecture
102 Linux Installation and Package Management
103 GNU and Unix Commands
104 Devices, Linux Filesystems, Filesystem Hierarchy Standard

101 System Architecture

101.1 Determine and Configure hardware settings (Chapter 3)

  • Enable and disable integrated peripherals.
  • Differentiate between the various types of mass storage devices.
  • Determine hardware resources for devices.
  • Tools and utilities to list various hardware information (e.g., lsusb, lspci, etc.).
  • Tools and utilities to manipulate USB devices.
  • Conceptual understanding of sysfs, udev, hald, dbus.
  • The following is a partial list of the used files, terms, and utilities: /sys, /proc, /dev, modprobe, lsmod, lspci, lsusb.

101.2 Boot the System (Chapter 5)

  • Provide common commands to the boot loader and options to the kernel at boot time.
  • Demonstrate knowledge of the boot sequence from BIOS/UEFI to boot completion.
  • Understanding of SysVinit and system.
  • Awareness of Upstart.
  • Check boot events in the log file.
  • The following is a partial list of the used files, terms and utilities: dmesg, journalctl, BIOS, UEFI, bootloader, kernel, init, initramfs, SysVinit, systemd.

101.3 Change runlevels/boot targets and shutdown or reboot system (Chapter 5)

  • Set the default run level or boot target.
  • Change between run levels/boot targets including single user mode.
  • Shutdown and reboot from the command line.
  • Alert users before switching run levels/boot targets or other major system events.
  • Properly terminate processes.
  • Awareness of acpid.
  • The following is a partial list of the used files, terms and utilities: /etc/inittab, shutdown, init, /etc/init.d, telinit, systemd, systemctl, /etc/systemd/, /usr/lib/system/, wall.

102 Linux Installation and Package Management

102.1 Design hard disk layout (Chapter 3)

  • Allocate filesystems and swap space to separate partitions or disks.
  • Tailor the design to the intended use of the system.
  • Ensure the /boot partition conforms to the hardware architecture requirements for booting.
  • Knowledge of basic features of LVM.
  • The following is a partial list of the used files, terms and utilities: / (root) filesystem, /var filesystem, /home filesystem, /boot filesystem, swap space, mount points, partitions, EFI System Partition (ESP).

102.2 Install a boot manager (Chapter 5)

  • Providing alternative boot locations and backup boot options.
  • Install and configure a boot loader such as GRUB Legacy.
  • Perform basic configuration changes for GRUB 2.
  • Interact with the boot loader.
  • The following is a partial list of the used files, terms, and utilities: /boot/grub/menu .lst, grub.cfg and grub.conf, grub-install, grub-mkconfig, MBR.

102.3 Manage shared libraries (Chapter 2)

  • Identify shared libraries.
  • Identify the typical locations of system libraries.
  • Load shared libraries.
  • The following is a partial list of the used files, terms, and utilities: ldd, ldconfig, /etc/ld.so.conf, LD_LIBRARY_PATH.

102.4 Use Debian package management (Chapter 2)

  • Install, upgrade and uninstall Debian binary packages.
  • Find packages containing specific files or libraries which may or may not be installed.
  • Obtain package information like version, content, dependencies, package integrity and installation status (whether or not the package is installed).
  • Awareness of apt.
  • The following is a partial list of the used files, terms, and utilities: /etc/apt/sources .list, dpkg, dpkg-reconfigure, apt-get, apt-cache.

102.5 Use RPM and YUM package management (Chapter 2)

  • Install, re-install, upgrade and remove packages using RPM, YUM, and Zypper.
  • Obtain information on RPM packages such as version, status, dependencies, integrity and signatures.
  • Determine what files a package provides, as well as find which package a specific file comes from.
  • The following is a partial list of the used files, terms, and utilities: rpm, rpm2cpio, /etc/yum.conf, /etc/yum.repos.d/, yum, zypper.

102.6 Linux as a virtualization guest (Chapter 5)

  • Understand the general concept of virtual machines and containers.
  • Understand common elements virtual machines in an IaaS cloud, such as computing instances, block storage and networking.
  • Understand unique properties of a Linux system which have to changed when a system is cloned or used as a template.
  • Understand how system images are used to deploy virtual machines, cloud instances and containers.
  • Understand Linux extensions which integrate Linux with a virtualization product.
  • Awareness of cloud-init.
  • The following is a partial list of the used files, terms, and utilities: Virtual machine, Linux container, Application container, Guest drivers, SSH host keys, D-Bus machine ID.

103 GNU and Unix Commands

103.1 Work on the command line (Chapter 1)

  • Use single shell commands and one-line command sequences to perform basic tasks on the command line.
  • Use and modify the shell environment including defining, referencing and exporting environment variables.
  • Use and edit command history.
  • Invoke commands inside and outside the defined path.
  • The following is a partial list of the used files, terms, and utilities: bash, echo, env, export, pwd, set, unset, type, which, man, uname, history, .bash_history, Quoting.

103.2 Process text streams using filters (Chapter 1)

  • Send text files and output streams through text utility filters to modify the output using standard UNIX commands found in the GNU textutils package.
  • The following is a partial list of the used files, terms, and utilities: bzcat, cat, cut, head, less, md5sum, nl, od, paste, sed, sha256sum, sha512sum, sort, split, tail, tr, uniq, wc, xzcat, zcat.

103.3 Perform basic file management (Chapter 4)

  • Copy, move and remove files and directories individually.
  • Copy multiple files and directories recursively.
  • Remove files and directories recursively.
  • Use simple and advanced wildcard specifications in commands.
  • Using find to locate and act on files based on type, size, or time.
  • Usage of tar, cpio, and dd.
  • The following is a partial list of the used files, terms, and utilities: cp, find, mkdir, mv, ls, rm, rmdir, touch, tar, cpio, dd, file, gzip, gunzip, bzip2, bunzip2, xz, unxz, file globbing.

103.4 Use streams, pipes and redirects (Chapter 1)

  • Redirecting standard input, standard output and standard error.
  • Pipe the output of one command to the input of another command.
  • Use the output of one command as arguments to another command.
  • Send output to both stdout and a file.
  • The following is a partial list of the used files, terms, and utilities: tee, xargs.

103.5 Create, monitor and kill processes (Chapter 2)

  • Run jobs in the foreground and background.
  • Signal a program to continue running after logout.
  • Monitor active processes.
  • Select and sort processes for display.
  • Send signals to processes.
  • The following is a partial list of the used files, terms, and utilities: &, bg, fg, jobs, killnohup, ps, top, free, uptime, pgrep, pkill, killall, watch, screen, tmux.

103.6 Modify process execution priorities (Chapter 2)

  • Know the default priority of a job that is created.
  • Run a program with higher or lower priority than the default.
  • Change the priority of a running process.
  • The following is a partial list of the used files, terms, and utilities: nice, ps, renice, top

103.7 Search text files using regular expressions (Chapter 1)

  • Create simple regular expressions containing several notational elements.
  • Understand the difference between basic and extended regular expressions.
  • Understand the concepts of special characters, character classes, quantifiers, and anchors.
  • Use regular expression tools to perform searches through a filesystem or file content.
  • Use regular expressions to delete, change, and substitute text.
  • The following is a partial list of the used files, terms, and utilities: grep, egrep, fgrep, sed, regex(7).

103.8 Basic file editing (Chapter 5)

  • Navigate a document using vi.
  • Understand and use vi modes.
  • Insert, edit, delete, copy and find text in vi.
  • Awareness of Emacs, nano, and vim.
  • Configure the standard editor.
  • The following is a partial list of the used files, terms, and utilities: vi, /, ?, h, j, k, l, i, o, a, d, p, y, dd, yy, ZZ, :w!, :q!, EDITOR.

104 Devices, Linux Filesystems, Filesystem Hierarchy Standard

104.1 Create partitions and filesystems (Chapter 3)

  • Manage MBR and GPT partition tables.
  • Use various mkfs commands to create various filesystems such as: ext2, ext3,ext4, XFS, VFAT, and exFAT.
  • Basic feature knowledge of Btrfs, including multi-device filesystems, compression, and subvolumes.
  • The following is a partial list of the used files, terms, and utilities: fdisk, gdisk, parted, mkfs, mkswap.

104.2 Maintain the integrity of filesystems (Chapter 3)

  • Verify the integrity of filesystems.
  • Monitor free space and inodes.
  • Repair simple filesystem problems.
  • The following is a partial list of the used files, terms, and utilities: du, df, fsck, e2fsck, mke2fs, tune2fs, xfs tools (such as xfs_repair, xfs_fsr, and xfs_db).

104.3 Control mounting and unmounting of filesystems (Chapter 3)

  • Manually mount and unmount filesystems.
  • Configure filesystem mounting on bootup.
  • Configure user mountable removeable filesystems.
  • Use of labels and UUIDs for identifying and mounting file systems.
  • Awareness of systemd mount units.
  • The following is a partial list of the used files, terms, and utilities: /etc/fstab, /media/, mount, umount, blkid, lsblk.

104.4 (Removed)

104.5 Manage file permissions and ownership (Chapter 4)

  • Manage access permissions on regular and special files as well as directories.
  • Use access modes such as suid, sgid and the sticky bit to maintain security.
  • Know how to change the file creation mask.
  • Use the group field to grant file access to group members.
  • The following is a partial list of the used files, terms, and utilities: chmod, umask, chown, chgrp.

104.6 Create and change hard and symbolic links (Chapter 4)

  • Create links.
  • Identify hard and/or soft links.
  • Copying versus linking files.
  • Use links to support system administration tasks.
  • The following is a partial list of the used files, terms, and utilities: ln, ls.

104.7 Find system files and place files in the correct location (Chapter 4)

  • Understand the correct locations of files under the FHS.
  • Find files and commands on a Linux system.
  • Know the location and propose of important file and directories as defined in the FHS.
  • The following is a partial list of the used files, terms, and utilities: find, locate, updatedb, whereis, which, type, /etc/updatedb.conf.

Exam 102-500 Objectives

The 102-500 exam comprises six topics (105–110), each of which contains three or four objectives. The six major topics are:

Subject Area
105 Shells and Shell Scripting
106 User Interfaces and Desktops
107 Administrative Tasks
108 Essential System Services
109 Networking Fundamentals
110 Security

105 Shells, Scripting and Data Management

105.1 Customize and use the shell environment (Chapter 9)

  • Set environment variables (e.g., PATH) at login or when spawning a new shell.
  • Write Bash functions for frequently used sequences of commands.
  • Maintain skeleton directories for new user accounts.
  • Set command search path with the proper directory.
  • The following is a partial list of the used files, terms, and utilities: ., source, etc/bash.bashrc, /etc/profile, env, export, set, unset, ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc, ~/.bash_logout, function, alias.

105.2 Customize or write simple scripts (Chapter 9)

  • Use standard sh syntax (loops, tests).
  • Use command substitution.
  • Test return values for success or failure or other information provided by a command.
  • Execute chained commands.
  • Perform conditional mailing to the superuser.
  • Correctly select the script interpreter through the shebang (#!) line.
  • Manage the location, ownership, execution and suid-rights of scripts.
  • The following is a partial list of the used files, terms, and utilities: for, while, test, if, read, seq, exec, ||, &&.

106 User Interfaces and Desktops

106.1 Install and configure X11 (Chapter 6)

  • Understanding of the X11 architecture.
  • Basic understanding and knowledge of the X Window configuration file.
  • Overwrite specific aspects of Xorg configuration, such as keyboard layout.
  • Understand the components of desktop environments, such as display managers and window managers.
  • Manage access to the X server and display applications on remote X servers.
  • Awareness of Wayland.
  • The following is a partial list of the used files, terms, and utilities: /etc/X11/xorg .conf, /etc/X11/xorg.conf.d, ~/.xsession-errors, xhost, xauth, DISPLAY, X.

106.2 Graphical Desktops (Chapter 6)

  • Awareness of major desktop environments.
  • Awareness of protocols to access remote desktop sessions.
  • The following is a partial list of the used files, terms, and utilities: KDE, Gnome, Xfce, X11, XDMCP, VNC, Spice, RDP.

106.3 Accessibility (Chapter 6)

  • Basic knowledge of visual settings and themes.
  • Basic knowledge of Assistive Technologies (ATs).
  • The following is a partial list of the used files, terms, and utilities: High Contrast/Large Print Desktop Themes, Screen Reader, Braille Display, Screen Magnifier, On-Screen Keyboard, Sticky/Repeat keys, Slow/Bounce/Toggle keys, Mouse keys, Gestures, Voice recognition.

107 Administrative Tasks

107.1 Manage user and group accounts and related system files (Chapter 7)

  • Add, modify and remove users and groups.
  • Manage user/group info in password/group databases.
  • Create and manage special purpose and limited accounts.
  • The following is a partial list of the used files, terms, and utilities: /etc/passwd, /etc/shadow, /etc/group, /etc/skel, chage, getent, groupadd, groupdel, groupmod, passwd, useradd, userdel, usermod.

107.2 Automate system administration tasks by scheduling jobs (Chapter 9)

  • Manage cron and at jobs.
  • Configure user access to cron and at services.
  • Understand systemd timer units.
  • The following is a partial list of the used files, terms, and utilities: /etc/cron.{d, daily,hourly,monthly,weekly}, /etc/at.deny, /etc/at.allow, /etc/crontab, /etc/cron.allow, /etc/cron.deny, /var/spool/cron/, crontab, at, atq, atrm, systemctl, systemd-run.

107.3 Localization and internationalization (Chapter 6)

  • Configure locale settings and environment variables.
  • Configure timezone settings and environment variables.
  • The following is a partial list of the used files, terms, and utilities: /etc/timezone, /etc/localtime, /usr/share/zoneinfo, environment variables (LC_*, LC_ALL, LANG, TZ), /usr/bin/locale, tzselect, timedatectl, date, iconv, UTF-8, ISO-8859, ASCII, Unicode.

108 Essential System Services

108.1 Maintain system time (Chapter 7)

  • Set the system date and time.
  • Set the hardware clock to the correct time in UTC.
  • Configure the correct timezone.
  • Basic NTP configuration using ntpd and chrony.
  • Knowledge of using the pool.ntp.org service.
  • Awareness of the ntpq command.
  • The following is a partial list of the used files, terms, and utilities: /usr/share/zoneinfo, /etc/timezone, /etc/localtime, /etc/ntp.conf, /etc/chrony.conf, date, hwclock, timedatectl, ntpd, ntpdate, chronyc, pool.ntp.org.

108.2 System logging (Chapter 7)

  • Basic configuration of rsyslogd.
  • Understanding of standard facilities, priorities, and actions.
  • Query the systemd journal.
  • Filter systemd journal data by criteria such as date, service, or priority.
  • Delete old systemd journal data.
  • Retrieve systemd journal data from a rescue system or file system copy.
  • Understand the interaction of rsyslogd with systemd-journald.
  • Configuration of logrotate.
  • Awareness of syslog and syslog-ng.
  • The following is a partial list of the used files, terms, and utilities: /etc/rsyslog.conf, /var/log, logger, logrotate, /etc/logrotate.conf, /etc/logrotate.d/, journalctl, systemd-cat, /etc/system/journal.conf, /var/log/journal/.

108.3 Mail Transfer Agent (MTA) basics (Chapter 7)

  • Create e-mail aliases.
  • Configure e-mail forwarding.
  • Knowledge of commonly available MTA programs (postfix, sendmail, qmail, exim) (no configuration).
  • The following is a partial list of the used files, terms, and utilities: ~/.forward, sendmail emulation layer commands, newaliases, mail, mailq, postfix, sendmail, exim.

108.4 Manage printers and printing (Chapter 6)

  • Basic CUPS configuration (for local and remote printers).
  • Manage user print queues.
  • Troubleshoot general printing problems.
  • Add and remove jobs from configured printer queues.
  • The following is a partial list of the used files, terms, and utilities: CUPS configuration files, tools and utilities; /etc/cups; lpd legacy interface (lpr, lprm, lpq).

109 Networking Fundamentals

109.1 Fundamentals of internet protocols (Chapter 8)

  • Demonstrate an understanding of network masks and CIDR notation.
  • Knowledge of the differences between private and public “dotted quad” IP-Addresses.
  • Knowledge about common TCP and UDP ports (20, 21, 22, 23, 25, 53, 80, 110, 123, 139, 143, 161, 162, 389, 443, 465, 514, 636, 993, 995).
  • Knowledge about the differences and major features of UDP, TCP and ICMP.
  • Knowledge of the major differences between IPv4 and IPV6.
  • Knowledge of the basic features of IPv6.
  • The following is a partial list of the used files, terms, and utilities: /etc/services, IPv4, IPv6, subnetting, TCP, UDP, ICMP.

109.2 Persistent network configuration (Chapter 8)

  • Understand basic TCP/IP host configuration.
  • Configure Ethernet and wi-fi configuration using NetworkManager.
  • Awareness of systemd-networkd.
  • The following is a partial list of the used files, terms, and utilities: /etc/hostname, /etc/hosts, /etc/nsswitch.conf, /etc/resolv.conf, nmcli, hostnamectl, ifup, ifdown.

109.3 Basic network troubleshooting (Chapter 8)

  • Manually configure network interfaces, including viewing and changing the configuration of network interfaces using iproute2.
  • Manually configure routing, including viewing and changing routing tables and setting the default route using iproute2.
  • Debug problems associated with the network configuration.
  • Awareness of legacy net-tools commands.
  • The following is a partial list of the used files, terms, and utilities: ip, hostname, ss, ping, ping6, traceroute, traceroute6, tracepath, tracepath6, netcat, ifconfig, netstat, route.

109.4 Configure client side DNS (Chapter 8)

  • Query remote DNS servers.
  • Configure local name resolution and use remote DNS servers.
  • Modify the order in which name resolution is done.
  • Debug errors related to name resolution.
  • Awareness of systemd-resolved.
  • The following is a partial list of the used files, terms, and utilities: /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf, host, dig, getent.

110 Security

110.1 Perform security administration tasks (Chapter 10)

  • Audit a system to find files with the suid/sgid bit set.
  • Set or change user passwords and password aging information.
  • Being able to use nmap and netstat to discover open ports on a system.
  • Set up limits on user logins, processes and memory usage.
  • Determine which users have logged in to the system or are currently logged in.
  • Basic sudo configuration and usage.
  • The following is a partial list of the used files, terms, and utilities: find, passwd, fuser, lsof, nmap, chage, netstat, sudo, /etc/sudoers, su, usermod, ulimit, who, w, last.

110.2 Setup host security (Chapter 10)

  • Awareness of shadow passwords and how they work.
  • Turn off network services not in use.
  • Understand the role of TCP wrappers.
  • The following is a partial list of the used files, terms, and utilities: /etc/nologin, /etc/passwd, /etc/shadow, /etc/xinetd.d/, /etc/xinetd.conf, /etc/inetd.d/, /etc/inetd.conf, systemd-socket, /etc/inittab, /etc/init.d/, /etc/hosts.allow, /etc/hosts.deny.

110.3 Securing data with encryption (Chapter 10)

  • Perform basic OpenSSH 2 client configuration and usage.
  • Understand the role of OpenSSH 2 server host keys.
  • Perform basic GnuPG configuration, usage, and revocation.
  • Use GPG to encrypt, decrypt, sign, and verify files.
  • Understand SSH port tunnels (including X11 tunnels).
  • The following is a partial list of the used files, terms, and utilities: ssh, ssh-keygen, ssh-agent, ssh-add, ~/.ssh/id_rsa and id_rsa.pub, ~/.ssh/id_rsa and id_rsa.pub, ~/.ssh/id_dsa and id_dsa.pub, ~/.ssh/id_ecdsa and ecdsa.pub, ~/.ssh/id_ed25519 and id_ed25519.pub, /etc/ssh/ssh_host_rsa_key and ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key and ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ecdsa_key and host_ecdsa_key.pub, /etc/ssh/ssh_host_ed25519_key and host_ed25519_key .pub, ~/.ssh/authorized_keys, /etc/ssh_known_hosts, gpg, gpg-agent, ~/.gnupg/.