CompTIA Linux+ Course: Complete Study Guide for the XK0-005 Exam

Table of Contents
CompTIA Linux+ (XK0-005) validates the skills you need to configure, manage, secure, and troubleshoot Linux systems in enterprise environments. This course targets system administrators, DevOps engineers, and IT professionals who work with Linux daily.
Resources
- Tips for Passing CompTIA Exams
- CompTIA Linux+ Practice Test
- Official XK0-005 Exam Objectives
- Additional Learning Resources
Domain 1: System Management (32%)
Linux System Management
- Manage files and directories using commands such as ls, cp, mv, rm, find, and locate
- Configure and manage storage devices, partitions, logical volumes (LVM), and file systems
- Mount and unmount file systems manually and via /etc/fstab for persistent configuration
- Manage disk quotas to limit user and group storage consumption
- Configure and manage network interfaces, IP addressing, routing, and DNS resolution
- Use tools such as ip, nmcli, and nmtui to manage network connectivity
- Manage processes using ps, top, kill, nice, and systemd unit controls
- Start, stop, enable, and disable systemd services and manage boot targets
- Manage software packages with dnf, apt, rpm, and dpkg
- Compile software from source and manage dependencies manually
- Configure localization settings including time zones, locale, and keyboard layouts
- Manage user accounts and groups using useradd, usermod, groupadd, and related tools
- Schedule recurring and one-time tasks with cron, at, and systemd timers
- Configure and manage kernel modules using modprobe, lsmod, and /etc/modules-load.d/
- Manage boot loaders including GRUB2 configuration and recovery procedures
Domain 2: Security (21%)
Linux Security
- Apply file permissions and ownership using chmod, chown, and chgrp
- Configure special permissions including SUID, SGID, and the sticky bit
- Implement access control lists (ACLs) with setfacl and getfacl for granular access control
- Manage sudo privileges and configure /etc/sudoers to enforce least privilege
- Configure PAM (Pluggable Authentication Modules) for authentication policies
- Manage PKI certificates, generate CSRs, and work with OpenSSL for TLS/SSL operations
- Configure SSH hardening including key-based authentication, disabling root login, and restricting ciphers
- Implement SELinux and AppArmor policies to enforce mandatory access controls
- Configure host-based firewalls using firewalld, nftables, and iptables
- Implement logging with rsyslog, journald, and auditd for security monitoring and auditing
- Identify and remediate SUID/SGID binaries, world-writable files, and other file system vulnerabilities
- Manage gpg keys for encrypting files and verifying package integrity
- Apply password policies including aging, complexity, and lockout settings via /etc/login.defs and PAM
- Secure network services by disabling unnecessary daemons and restricting service bindings
Domain 3: Scripting, Containers, and Automation (19%)
Scripting, Containers, and Automation
- Write Bash shell scripts using variables, conditionals, loops, and functions
- Use regular expressions with tools such as grep, sed, and awk for text processing
- Read and parse structured data formats including JSON and YAML from the command line
- Manage environment variables and understand shell initialization files such as .bashrc and .bash_profile
- Use version control with Git to track changes, branch code, and collaborate on scripts
- Manage container images and run containers using Docker and Podman
- Write and interpret Dockerfiles to build custom container images
- Orchestrate multi-container applications with Docker Compose
- Understand Kubernetes architecture including pods, nodes, deployments, and services
- Automate configuration management with tools such as Ansible
- Use Infrastructure as Code (IaC) concepts to provision and manage Linux environments repeatably
- Schedule and automate administrative tasks using shell scripts combined with cron and systemd timers
- Debug scripts using set -x, set -e, and common troubleshooting techniques
Domain 4: Troubleshooting (28%)
Linux Troubleshooting
- Apply a structured troubleshooting methodology: identify the problem, establish a theory, test the theory, implement a fix, verify, and document
- Troubleshoot storage issues including failed mounts, corrupted file systems, full disks, and LVM problems
- Use fsck, xfs_repair, df, du, and lsblk to diagnose and repair file system problems
- Troubleshoot network connectivity using ping, traceroute, ss, netstat, tcpdump, and Wireshark
- Diagnose DNS resolution failures using dig, nslookup, and reviewing /etc/resolv.conf
- Troubleshoot CPU and memory performance issues using top, htop, vmstat, sar, and free
- Identify and terminate runaway processes consuming excessive CPU or memory
- Troubleshoot user access and authentication issues including locked accounts, PAM misconfigurations, and SSH key problems
- Review system logs in /var/log/ and via journalctl to identify root causes of failures
- Troubleshoot boot failures including GRUB errors, missing initramfs, and systemd unit failures
- Diagnose service failures using systemctl status, journalctl -u, and examining unit files
- Troubleshoot package management issues including dependency conflicts and broken repositories
- Identify security-related anomalies such as unexpected SUID binaries, unauthorized cron jobs, and suspicious network connections
Ready to test your knowledge? Work through all four domains, then assess your readiness with the CompTIA Linux+ Practice Test . For more certification courses and hands-on playbooks, visit Courses and Playbooks .


