This course can benefit you in two ways. If you intend to pass the CompTIA Linux+ (Exam XK0-005) certification examination, this course can be a significant part of your preparation. But certification is not the only key to professional success in the field of systems administration. Today’s job market demands individuals with demonstrable skills, and the information and activities in this course can help you build your sysadmin skill set so that you can confidently perform your duties in any intermediate-level Linux systems administration role.
On course completion, you will be able to achieve the following:
- Configure, manage, and troubleshoot Linux systems.
- Operate Linux in both on-premises and cloud-based server environments.
- Implement security best practices.
- Use scripting, containerization, and automation to optimize a Linux system.
This course includes access to the official CompTIA course content, official CompTIA hands-on live lab cloud content,
and official CompTIA practice certification exam.
Lesson 1: Introducing Linux
Working with Linux begins with an understanding of licensing and the operating system’s history. The open-source nature of Linux has resulted in many different distributions, so it’s important to understand how distributions differ from each other. Linux servers are primarily managed from the command line, using shells such as Bash. Bash enforces a particular syntax, or way of structuring commands. In addition, Linux holds its configurations in text files, so it’s critical that sysadmins can edit these files to manage system settings. Man pages are available as quick reference documents to help administrators recall the function of specific commands and any available options.
Misconfigurations or physical failures may provide troubleshooting opportunities, so sysadmins should follow a standard methodology to help narrow the scope of problems, solve the root cause of the issue, and manage documentation related to configuration issues.
Lesson 2: Administering Users and Groups
Modern operating systems require users to prove their identity. This identification process, referred to as authentication, provides access to major functions. First, the user’s identity can be used to control access to resources via permissions and other rules. Second, the user’s environment can be customized to fit that individual’s work style and habits.
The first task is to understand user account management, including its related configuration files and commands. However, managing individual users can be inefficient, so users are often placed into groups for simplicity. Group management involves a different set of configuration files and commands. Next, administrators should log on to the server with non-privileged accounts and then elevate privileges only when necessary. The administration of privilege elevation and its related commands is covered in the third Topic. Finally, this lesson will cover applying configuration files and commands in troubleshooting and security auditing.
Lesson 3: Configuring Permissions
The identity of an authenticated user provides context for enforcing permissions. Once the system knows which user is logged on, it can limit the actions that user can take. Linux relies on a simple yet effective permissions structure that recognizes three identities (users, groups, and all others) and provides three access levels (read, write, and execute). More complex permissions options exist, including special permissions and access control lists (ACLs).
Administrators manage group membership, file ownership, and group association to control access to resources. As such, the permissions discussion in this Lesson is a natural extension of the account management subject of the previous lesson.
Lesson 4: Implementing File Management
This Lesson covers the Filesystem Hierarchy Standard (FHS) that defines consistent locations for data across the various Linux distributions and makes it easier for users to navigate among directories to find and manage files and directories. Users rely on an understanding of the FHS to perform file management tasks such as creating and deleting resources. This Lesson covers the necessary commands to perform these file operations. In addition, commands such as find and locate are used to search for resources using many different parameters.
Lesson 5: Authoring Text Files
Linux users edit text files in day-to-day activities and when making system configuration changes. Because a graphical user interface (GUI) is not always available, visual menus are not always possible; text editing in Linux is very different from text editing in other platforms. Text editors rely on various modes and metakeys to enable functions such as save and copy/paste. It’s also essential to ensure that files are backed up, protected, and that their integrity is guaranteed. This Lesson focuses on Linux text editors such as Vim and archiving tools such as tar.
Lesson 6: Managing Software
Maintaining software on Linux systems is usually accomplished with package managers. Package managers deploy, update, remove, and report on applications. However, due to the open-source nature of the Linux environment, software applications are often compiled from source code—something that is not common with other operating systems.
Because there are many different Linux distributions available, there are many package managers. As a general rule, most distributions either originated with Red Hat Linux (and therefore use the Red Hat package managers) or Debian Linux (and therefore use the Debian package managers).
This Lesson covers several common package managers, the process of acquiring and compiling software, and running software in a sandbox for security.
Lesson 7: Administering Storage
Storage management involves planning, understanding hardware, and using many tools to accomplish storage goals. Sysadmins must know what types of hardware are available and what type will work with the Linux system in question. They must also know the performance requirements for data stored on any drives. Direct-attached storage disks are managed as single entities with traditional partitions or can be combined into logical volumes for more flexible storage space. Network-based storage, such as NAS, SAN, and cloud technologies, may also be used. Finally, sysadmins must understand the available Linux tools for troubleshooting and performance monitoring.
Lesson 8: Managing Devices, Processes, Memory, and the Kernel
Linux sysadmins must identify and configure hardware resources. First, administrators must be able to find hardware information using a series of commands to identify CPU, memory, bus, and other hardware devices. Next, sysadmins manipulate processes consuming hardware resources to optimize and troubleshoot the system. Often the focus of this optimization is the CPU and memory. Finally, the Linux kernel—the core of the operating system—may be managed to maintain performance, enable modern features, and provide compatibility with current hardware.
Lesson 9: Managing Services
Linux servers (and Linux workstations, too) enable users and applications to complete tasks that drive business. This function begins with the initialization of the Linux kernel by systemd and SysVinit. These utilities start any configured services, such as SSH for remote administration or make websites available via Apache. Finally, sysadmins must configure the system for the comfort and practicality of the users and their preferred locale settings.
Lesson 10: Configuring Network Settings
Basic networking skills are critical to Linux server administrators. The TCP/IP suite is fundamental to modern networks and is built on a series of network devices. Each node in a TCP/IP network has a unique identity, so displaying and configuring these identities is a common task for Linux admins. Many network tools exist to provide remote connectivity, whether that access is for administrative purposes or mere file transfers. And many network tools exist to help troubleshoot these network access issues.
Lesson 11: Configuring Network Security
It’s critical for administrators to understand what’s happening on the network and how that impacts servers and clients. Administrators can use firewalls to control the flow of traffic into and out of individual nodes, network segments, or even entire networks. Firewalls contain rules that define what traffic is permitted and what traffic is not.
Ensuring network traffic flows as it should also includes monitoring and troubleshooting connectivity issues, as well as understanding exactly what data is moving on the network. The network map helps make the task of securing and monitoring the network easier.
Lesson 12: Managing Linux Security
System security mitigates threats and vulnerabilities by ensuring Linux devices match required configurations. These configurations, implemented via a process called hardening, are supplemented by encryption, strong authentication methods, and mandatory access controls. This Lesson provides configuration steps and commands to manage security tools.
Lesson 13: Implementing Simple Scripts
The ability to automate and schedule complex tasks on a Linux system relies on Bash scripting. Scripts can be as simple or complex as necessary to accomplish the goal. One of the benefits of a script is that it executes the same way every time, rather than relying on an administrator to recall the proper order of operations or avoid typographical errors.
Scripts are also capable of running a set number of times, for example, while a value is true. They can also compare values and use if/then logic to process information differently depending on the contents.
This Lesson begins with simple scripting basics and then addresses various scripting techniques that increase flexibility.
Lesson 14: Using Infrastructure as Code
DevOps informs the use of Infrastructure as Code, a sysadmin approach to managing system deployments and configuration. By treating configuration files as code and enforcing version control and change tracking on them, organizations seek to bring greater stability, security, and automation to their environments.
The combination of orchestration tools, such as Ansible, and file management tools, such as Git, brings Infrastructure as Code to the forefront of administrator responsibilities.
Lesson 15: Managing Containers in Linux
Containers provide fast, scalable deployments of applications on-premises and in the cloud. Administrators often orchestrate container deployments to provide consistency and agility. Containers virtualize at a higher layer than traditional virtualization solutions that support virtual machines do. Container solutions begin with a container engine that provides virtualization functionality. Next are the files that make up containers, followed by the running containers.
For all the focus on container deployments, it’s important to recognize that more traditional hardware virtualization still has its place, and Linux administrators will frequently support virtualized devices.
Lesson 16: Installing Linux
Most operating systems follow the same boot path; it’s the utilities involved that vary. For Linux, the primary boot loader that manages the startup process is GRUB2. Once the system starts and the boot loader launches, it handles the process until the Linux kernel starts and takes over. GRUB2 has specific configuration requirements that involve assembling the main configuration file from a series of supporting configuration files.
When deploying Linux, you must first decide on a physical or virtual machine platform and then walk through a series of installation tasks that involve selecting source files, hardware configurations such as partitioning, and software. Once the installation is complete, you will manage post-installation tasks. These tasks consist of final security settings and updates.
All necessary course materials are included.
This course prepares students to take the CompTIA Linux+ XK0-005 national certification exam.