Skip to main content

Learning path

Linux System Administration learning path: everything to study, topic by topic

Vendor-neutral Linux administration assessment covering system fundamentals and software, storage, services and networking, security and access control, shell scripting, containers and configuration automation, and systematic troubleshooting. Supports CompTIA Linux+, RHCSA and RHCE preparation.

Short answer

To learn Linux System Administration, work through 5 modules and 51 topics in the order they build on each other. It starts with System Fundamentals & Software, then moves on to Storage, Services & Networking and Security & Access. Use the map as a checklist, or measure your level and study only what is missing.

5
modules
51
topics
55
min to assess

What you will study

Topics are grouped by module. Open one to see its objectives and key concepts.

1 · System Fundamentals & Software9 topics
  • Linux Fundamentals & Boot Process

    Linux architecture, distribution families, the Filesystem Hierarchy Standard, the boot sequence (firmware, bootloader, kernel, init), kernel modules, hardware discovery, and the shell environment

    Objectives

    • Describe the Linux boot sequence from firmware to the login prompt
    • Locate system data by purpose in the FHS
    • Inspect hardware and load or blacklist kernel modules

    Key concepts

    • Filesystem Hierarchy Standard
    • boot sequence and GRUB2
    • kernel modules (lsmod, modprobe)
    • device discovery (lspci, lsusb, udev)
    • distribution families (RHEL, Debian)
    • /proc and /sys
    • shell environment and variables
  • Files, Directories & Text Processing

    Navigating and managing files and directories, hard and symbolic links, find, archiving and compression, redirection and pipes, grep, sed, awk, and editing with vi/vim and nano

    Objectives

    • Manage files and links safely and explain inode behavior
    • Build pipelines that filter and transform text
    • Archive, compress and restore data with tar

    Key concepts

    • ls, cp, mv, rm, mkdir
    • hard vs symbolic links and inodes
    • find and locate
    • tar, gzip, bzip2, xz
    • redirection and pipes
    • grep, sed, awk, cut, sort
    • vim essentials
  • Package Management & Building Software

    Installing, updating and removing software with rpm/dnf/yum and dpkg/apt, repositories and GPG signature verification, shared libraries, and compiling from source with configure/make

    Objectives

    • Install, query and verify packages on RHEL-family and Debian-family systems
    • Add a repository securely and pin or hold package versions
    • Compile and install software from source and resolve missing library errors

    Key concepts

    • rpm and dnf
    • dpkg and apt
    • repository configuration
    • GPG package verification
    • shared libraries and ldconfig
    • configure, make, make install
    • dependency resolution
    • Flatpak and Snap
  • System Configuration & Localization

    Managing configuration under /etc, kernel parameters with sysctl, time synchronization with chrony, locale and timezone, logging with rsyslog and journald, log rotation, and environment and alternatives configuration

    Objectives

    • Persist kernel and system settings across reboots
    • Configure time synchronization and logging retention
    • Manage configuration drift between package defaults and local edits

    Key concepts

    • /etc configuration layout
    • sysctl and /proc/sys
    • chrony and timedatectl
    • locale and timezone
    • journald and rsyslog
    • logrotate
    • update-alternatives
    • tuned profiles
  • RHEL Essential Tools, Documentation & Lab Discipline

    RHCSA essentials at the shell: command syntax, redirection and pipes, grep with regular expressions, tar with gzip and bzip2, hard and symbolic links, ugo/rwx permissions, su and sudo login shells, and finding answers offline with man, info and /usr/share/doc

    Objectives

    • Find the right command and option using only local documentation
    • Archive, restore and link files with exact command syntax
    • Verify that every lab change survives a reboot

    Key concepts

    • man -k, mandb and info
    • /usr/share/doc
    • redirection 2>&1 and tee
    • grep -E and regular expressions
    • tar -czf and -cjf
    • ln and ln -s
    • su - vs su
    • verify persistence after reboot
  • RHEL Software: Subscriptions, Repositories, DNF & Flatpak

    Registering RHEL, BaseOS and AppStream repositories, writing .repo files, dnf install/remove/provides/history, GPG key import, rpm queries and verification, and Flatpak remotes and applications

    Objectives

    • Configure a local or remote RPM repository and install packages from it
    • Find the package that owns a file and verify package integrity
    • Add a Flatpak remote and manage Flatpak applications

    Key concepts

    • subscription-manager and rhc
    • BaseOS and AppStream
    • /etc/yum.repos.d/*.repo
    • dnf provides and history
    • rpm -qf, -V, --import
    • reposync and createrepo_c
    • flatpak remote-add and install
  • Boot Targets, Bootloader & Root Password Recovery

    systemd targets (default, isolate, rescue, emergency), interrupting GRUB2 to edit the kernel line, rd.break root password reset with SELinux relabeling, persistent kernel arguments with grubby and grub2-mkconfig, and controlled shutdown and reboot

    Objectives

    • Boot manually into a chosen target and set the default target
    • Reset a lost root password on an SELinux-enforcing system
    • Make a kernel argument or GRUB timeout change persistent

    Key concepts

    • systemctl set-default and isolate
    • systemd.unit=rescue.target
    • rd.break and /sysroot
    • touch /.autorelabel
    • grubby --update-kernel
    • grub2-mkconfig
    • shutdown and systemctl reboot
  • File Operations: stat Timestamps, tail -f/-F, rsync Mirroring & Checksum Verification

    File inspection and transfer details: stat output with access (atime), modify (mtime) and change (ctime) times and which operation updates each, following growing logs with tail -f versus tail -F across rotation, rsync archive mode with --delete to mirror a directory (trailing slash semantics, --dry-run, -z, -e ssh), and verifying integrity with sha256sum, md5sum and sha256sum -c against a published checksum file

    Objectives

    • Read stat output and explain which timestamp a given action changes
    • Mirror a directory safely with rsync and preview the changes first
    • Verify a downloaded file or backup against a checksum

    Key concepts

    • stat atime mtime ctime
    • tail -f vs tail -F
    • rsync -a --delete
    • rsync trailing slash and --dry-run
    • sha256sum -c
    • checksum verification of downloads
  • Text Pipelines: sed -i Replacement, awk Aggregation & cut/sort/uniq Counting

    Command-line text recipes for logs and config files: in-place bulk replacement across files with sed -i.bak and find or xargs, summing a delimited column with awk -F, '{s+=$3} END{print s}', counting distinct values with cut -d' ' -f1 | sort -u | wc -l or sort | uniq -c | sort -rn, and why uniq needs sorted input

    Objectives

    • Replace text in many files while keeping backups
    • Aggregate a column with awk
    • Count unique values and rank frequencies from log fields

    Key concepts

    • sed -i.bak
    • sed s/old/new/g
    • find with xargs sed
    • awk -F field sum
    • cut -d -f
    • sort | uniq -c
    • sort -u | wc -l
2 · Storage, Services & Networking12 topics
  • Storage, LVM & Filesystems

    Partitioning with fdisk/parted, GPT vs MBR, ext4 and XFS, LVM (PV, VG, LV) with resize and snapshots, software RAID with mdadm, swap, fstab and mounts, quotas, and network storage with NFS and iSCSI

    Objectives

    • Create and extend logical volumes and filesystems online
    • Write persistent mounts with UUIDs and safe options
    • Choose a RAID level for a stated redundancy and performance goal

    Key concepts

    • fdisk, parted, GPT vs MBR
    • ext4 vs XFS
    • LVM PV/VG/LV
    • mdadm RAID levels
    • /etc/fstab and UUIDs
    • swap
    • disk quotas
    • NFS and iSCSI
  • Processes, systemd Services & Scheduling

    Process states and signals, priorities with nice/renice, ps/top, systemd units, targets and dependencies, writing unit files, drop-in overrides, cron, at and systemd timers, and journalctl

    Objectives

    • Manage service lifecycle and boot-time enablement with systemctl
    • Write and override unit files without editing vendor files
    • Schedule recurring jobs with cron or timers and justify the choice

    Key concepts

    • process states and signals
    • nice and renice
    • systemctl enable/start/mask
    • unit files and drop-ins
    • targets
    • cron and anacron
    • systemd timers
    • journalctl
  • Linux Networking Configuration & Tools

    Configuring interfaces and addresses with NetworkManager (nmcli), netplan or ifcfg, the ip command, routing, DNS resolution and resolv.conf, hostname, bonding and VLANs, and tools such as ss, dig, curl and tcpdump

    Objectives

    • Configure persistent static addressing, routes and DNS
    • Use ss, ip and dig to verify connectivity and name resolution
    • Explain bonding modes and when each applies

    Key concepts

    • ip addr, ip route
    • nmcli and netplan
    • DNS and nsswitch.conf
    • /etc/hosts and hostnamectl
    • bonding and VLANs
    • ss and netstat
    • dig and nslookup
    • tcpdump
  • Process Control, Tuned Profiles & Persistent Journals

    Finding and ending CPU or memory heavy processes, signals, nice and renice, tuned profiles and tuned-adm, reading journalctl and /var/log, making the journal persistent, and bounding journal size

    Objectives

    • Identify and terminate or deprioritize a runaway process safely
    • Apply and verify a tuned profile
    • Preserve journals across reboots with bounded disk use

    Key concepts

    • ps --sort and top
    • kill, pkill, signals
    • nice and renice
    • tuned-adm profile/recommend/verify
    • journalctl -u -p -b --since
    • Storage=persistent
    • journalctl --vacuum-size
    • systemctl set-property CPUQuota
  • Services, Scheduling, Time Clients & Secure File Transfer

    systemctl enable --now, mask and dependencies, cron and crontab, at jobs, systemd timers with OnCalendar and Persistent, chrony time clients, and scp, sftp and rsync transfers

    Objectives

    • Schedule recurring and one-off tasks with cron, at and systemd timers
    • Configure a chrony client and prove it is synchronized
    • Transfer files securely between systems preserving attributes

    Key concepts

    • enable --now and mask
    • crontab fields and /etc/cron.d
    • at, atq, atrm
    • systemd .timer and OnCalendar
    • chrony.conf and chronyc sources
    • network-online.target
    • scp, sftp, rsync -a
  • Local Storage Lab Tasks: GPT, LVM, Stratis, VDO, Swap & Mounts

    Creating GPT partitions with parted or fdisk, physical volumes, volume groups and logical volumes, mkfs for XFS, ext4 and VFAT, mounting by UUID or label in /etc/fstab, extending logical volumes online, adding swap, and Stratis and LVM-VDO volumes

    Objectives

    • Build a partition, volume group, logical volume and mounted filesystem from a blank disk
    • Extend a logical volume and its filesystem without downtime
    • Choose between XFS, ext4, Stratis and LVM-VDO for a requirement

    Key concepts

    • parted mklabel gpt and mkpart
    • pvcreate, vgcreate, lvcreate
    • lvextend -r and xfs_growfs
    • mkfs.xfs, mkfs.ext4, mkfs.vfat
    • blkid and UUID fstab
    • mkswap and swapon
    • stratis pool and filesystem
    • lvcreate --type vdo
    • mount -a validation
  • Network File Systems: NFS Mounts & autofs

    Mounting NFS exports manually and in /etc/fstab, _netdev and nofail, autofs master and map files with direct, indirect and wildcard maps, idle timeouts, and the firewall, SELinux and export-side checks for NFS

    Objectives

    • Mount an NFS export persistently and verify it with findmnt
    • Configure an autofs indirect wildcard map for home directories
    • Diagnose NFS client failures across network, export, firewall and SELinux

    Key concepts

    • mount -t nfs and showmount -e
    • fstab _netdev, nofail
    • auto.master.d/*.autofs
    • indirect and wildcard maps
    • --timeout
    • x-systemd.automount
    • exportfs -v, root_squash
    • use_nfs_home_dirs boolean
  • Storage Administration: Disk Quotas, tune2fs Reserved Blocks & XFS nouuid Mounts

    Filesystem tuning and recovery: user and group disk quotas (usrquota,grpquota mount options, quotacheck, quotaon, edquota soft and hard limits with grace period, repquota, and xfs_quota for XFS), reducing the ext4 reserved block percentage with tune2fs -m on data volumes, and mounting a cloned or snapshotted XFS volume whose UUID duplicates a mounted one with -o nouuid or regenerating it with xfs_admin -U generate

    Objectives

    • Enable and enforce quotas on ext4 or XFS
    • Reclaim reserved space on a large data filesystem
    • Mount a duplicate-UUID XFS clone without error

    Key concepts

    • usrquota grpquota
    • quotacheck quotaon edquota repquota
    • soft and hard limits and grace period
    • xfs_quota
    • tune2fs -m reserved blocks
    • XFS duplicate UUID
    • mount -o nouuid
    • xfs_admin -U
  • Operational Utilities: flock in cron, logrotate, update-alternatives & tmux Sessions

    Routine administration tools: preventing overlapping cron jobs with flock -n on a lock file, rotating logs with logrotate (weekly or size rules, rotate count, compress, copytruncate versus postrotate reload, /etc/logrotate.d), managing multiple versions of a command with the alternatives system (update-alternatives or alternatives --config, symlinks under /etc/alternatives), and resuming long-running work over a dropped SSH connection with tmux (new, detach, attach, list sessions)

    Objectives

    • Make a cron job safe against overlapping runs
    • Write a logrotate stanza for an application log
    • Switch the default version of a command and resume a tmux session after a disconnect

    Key concepts

    • flock -n lock file
    • overlapping cron jobs
    • logrotate configuration
    • copytruncate vs postrotate
    • update-alternatives
    • /etc/alternatives symlinks
    • tmux attach and detach
    • persistent sessions
  • Virtualization: KVM, libvirt/virsh, virtio Drivers & Snapshots

    Linux virtualization administration: confirming hardware virtualization extensions (vmx/svm flags in /proc/cpuinfo, lscpu, kvm-ok), installing and using KVM with libvirt (virsh list, start, shutdown, autostart, define, dumpxml), creating guests with virt-install, paravirtualized virtio disk and network drivers instead of emulated IDE and e1000 devices for I/O performance, and point-in-time guest snapshots with virsh snapshot-create-as and snapshot-revert

    Objectives

    • Verify a host can run hardware-accelerated virtual machines
    • Manage guest lifecycle and boot-time start with virsh
    • Improve guest I/O with virtio and protect changes with snapshots

    Key concepts

    • vmx svm cpu flags
    • KVM and libvirt
    • virsh autostart
    • virt-install
    • virtio drivers
    • virsh snapshot-create-as and snapshot-revert
  • Backup & Recovery: Full/Incremental Strategies, tar Attributes & dd Disk Images

    Backup design and tooling: full, incremental and differential schemes and which sets a restore needs, GNU tar incremental archives with --listed-incremental, preserving ACLs, extended attributes and SELinux contexts with --acls --xattrs --selinux, bit-for-bit disk imaging with dd (if, of, bs, status=progress, conv=fsync) and the risk of swapping if and of

    Objectives

    • Determine which backups a point-in-time restore requires
    • Create tar archives that preserve ACLs, xattrs and SELinux labels
    • Image a disk with dd safely

    Key concepts

    • full incremental differential
    • restore chain
    • tar --listed-incremental
    • tar --acls --xattrs --selinux
    • dd if of bs
    • disk image of an unmounted device
  • User Provisioning (/etc/skel) & Surviving Logout: nohup, disown, setsid

    Account templates and long-running sessions: files placed in /etc/skel copied into new home directories by useradd -m (.bashrc, README.txt) without affecting existing users, and keeping a foreground job such as rsync alive after SSH logout by suspending with Ctrl+Z, bg and disown -h, or starting it with nohup, setsid or inside tmux or screen

    Objectives

    • Provide default files to newly created users
    • Keep a running job alive after logout without restarting it
    • Explain SIGHUP behaviour and the alternatives

    Key concepts

    • /etc/skel
    • useradd -m
    • nohup
    • Ctrl+Z bg disown
    • setsid
    • SIGHUP on logout
3 · Security & Access10 topics
  • Linux Security Best Practices & Hardening

    Defense in depth on Linux: patching cadence, minimizing services and packages, disk encryption with LUKS, GPG, TLS certificates and PKI, auditing with auditd, benchmark-based hardening (CIS), and secure defaults

    Objectives

    • Apply a layered hardening baseline to a new server
    • Encrypt data at rest and manage certificates
    • Configure auditing that supports incident investigation

    Key concepts

    • least privilege
    • LUKS disk encryption
    • GPG signing and encryption
    • TLS certificates and PKI
    • auditd rules
    • CIS benchmarks
    • attack surface reduction
    • secure boot
  • Identity Management: Users, Groups, sudo & PAM

    Local accounts and groups (/etc/passwd, /etc/shadow), useradd and usermod, password aging, sudoers, PAM modules, centralized identity with LDAP, SSSD and Kerberos, and multi-factor authentication

    Objectives

    • Create and lock accounts and enforce password aging
    • Delegate least-privilege administration with sudo
    • Explain how PAM and SSSD cooperate for centralized login

    Key concepts

    • passwd, shadow and group files
    • useradd, usermod, chage
    • sudoers and visudo
    • PAM stack
    • LDAP and SSSD
    • Kerberos basics
    • MFA for login
    • service accounts
  • Firewalls: firewalld, nftables, iptables & ufw

    Host firewall concepts (stateful filtering, zones, chains), firewalld zones/services/rich rules, nftables and iptables rule evaluation, ufw, NAT and port forwarding, and persistence of rules

    Objectives

    • Open and restrict services with firewalld or ufw and make rules persistent
    • Read an iptables or nftables ruleset and predict packet verdicts
    • Design a default-deny host policy that preserves management access

    Key concepts

    • firewalld zones and services
    • runtime vs permanent rules
    • iptables chains and tables
    • nftables
    • ufw
    • NAT and port forwarding
    • default deny policy
    • rate limiting
  • Remote Access: SSH, Tunnels & File Transfer

    OpenSSH client and server configuration, key-based authentication, ssh-agent, sshd_config hardening, port forwarding and jump hosts, scp/sftp/rsync, tmux, and remote desktop alternatives

    Objectives

    • Set up key-based SSH and disable password and root login
    • Use tunnels and jump hosts to reach private services
    • Transfer and synchronize data securely with rsync

    Key concepts

    • sshd_config hardening
    • key pairs and authorized_keys
    • ssh-agent
    • local and remote port forwarding
    • ProxyJump
    • rsync and scp
    • known_hosts and host keys
    • tmux
  • Access Controls: Permissions, ACLs, SELinux & AppArmor

    Discretionary permissions (rwx, umask), special bits (setuid, setgid, sticky), file attributes, POSIX ACLs, mandatory access control with SELinux (contexts, booleans, modes) and AppArmor profiles

    Objectives

    • Set permissions numerically and symbolically for a stated access requirement
    • Use ACLs where standard permissions cannot express the policy
    • Correct SELinux labels instead of disabling enforcement

    Key concepts

    • chmod and chown
    • umask
    • setuid, setgid, sticky bit
    • POSIX ACLs (setfacl)
    • chattr
    • SELinux contexts and booleans
    • SELinux modes
    • AppArmor profiles
  • Users, Groups, Privileged Access, ACLs & Default Permissions

    useradd and usermod options, groups and shared directories with setgid, chage and login.defs password aging, locking accounts, sudoers.d and visudo, POSIX ACLs with masks and defaults, umask, and diagnosing file permission problems with namei and getfacl

    Objectives

    • Create users and groups with exact UID, GID, shell and group membership requirements
    • Grant narrowly scoped sudo access and enforce password aging
    • Apply ACLs and default permissions to meet a collaboration requirement

    Key concepts

    • useradd -u -g -G -s
    • usermod -aG
    • chage -M -W -E -d 0
    • /etc/login.defs
    • visudo -f /etc/sudoers.d
    • setfacl -m and -d, getfacl
    • umask 027
    • setgid directories
    • namei -l
  • RHEL Networking, Name Resolution, firewalld & SSH Keys

    Persistent IPv4 and IPv6 addressing with nmcli, hostnamectl, /etc/hosts and nsswitch.conf, autoconnect at boot, firewall-cmd zones, services, ports and sources with runtime versus permanent rules, and key-based SSH with ssh-copy-id

    Objectives

    • Configure persistent dual-stack addressing, hostname and DNS with nmcli
    • Restrict access with firewalld zones, services and sources, and make it permanent
    • Set up key-based SSH and confirm it works after a reboot

    Key concepts

    • nmcli con mod ipv4/ipv6
    • hostnamectl
    • /etc/hosts and nsswitch
    • connection.autoconnect
    • firewall-cmd --permanent --reload
    • zones and --add-source
    • ssh-keygen and ssh-copy-id
    • sshd_config Port
  • SELinux Administration: Modes, Contexts, Ports & Booleans

    getenforce, setenforce and /etc/selinux/config, reading file and process contexts with ls -Z and ps -Z, semanage fcontext with restorecon, semanage port, setsebool -P, and diagnosing AVC denials with ausearch and sealert

    Objectives

    • Switch SELinux modes temporarily and persistently and explain the difference
    • Fix denials by relabeling, port labels or booleans rather than disabling SELinux
    • Read an AVC denial and pick the least permissive fix

    Key concepts

    • setenforce vs SELINUX=
    • ls -Z and ps -Z
    • semanage fcontext -a
    • restorecon -Rv vs chcon
    • semanage port -a -t
    • setsebool -P
    • ausearch -m AVC and sealert
    • /.autorelabel
  • Hardening: File Capabilities, OpenSCAP Compliance Scans, fail2ban & SELinux Relabel after Recovery

    Hardening in practice: Linux file capabilities set with setcap and read with getcap (cap_net_bind_service+ep to bind privileged ports without root, rather than setuid), compliance scanning with OpenSCAP (oscap xccdf eval with a profile, HTML report, remediation), banning brute-force SSH sources with fail2ban (jails, maxretry, findtime, bantime, fail2ban-client status), and restoring SELinux labels after a root password reset in rd.break (touch /.autorelabel and restorecon) so logins work again

    Objectives

    • Grant one capability to a binary instead of full root
    • Run an OpenSCAP scan, read the report and plan remediation
    • Configure fail2ban for SSH and fix SELinux labels after an emergency password reset

    Key concepts

    • file capabilities setcap getcap
    • cap_net_bind_service
    • avoid setuid
    • OpenSCAP oscap xccdf eval
    • SCAP profile and report
    • fail2ban jail sshd
    • maxretry findtime bantime
    • touch /.autorelabel
    • restorecon after rd.break
  • Security Auditing: File Integrity (AIDE), Tamper-Resistant Logs & Failed Login Review

    Detecting and limiting tampering: file integrity monitoring with AIDE or Tripwire (initialize a baseline database with aide --init, store it read-only off-host, compare with aide --check, update after authorized changes), protecting logs from an attacker who compromises a server by forwarding them to a remote collector with rsyslog or journal remote and append-only chattr +a, and reviewing failed authentication with lastb, faillog, journalctl and /var/log/secure or auth.log

    Objectives

    • Use a file integrity tool correctly with a trusted baseline
    • Make logs resistant to tampering after a compromise
    • List and interpret failed login attempts

    Key concepts

    • AIDE baseline database
    • aide --check
    • off-host baseline storage
    • remote log forwarding
    • chattr +a append-only
    • lastb failed logins
    • auth.log and secure
4 · Scripting, Containers & Automation10 topics
  • Shell Scripting & Task Automation

    Writing reliable Bash scripts: shebang, variables and quoting, conditionals, loops, functions, arguments, exit codes, error handling with set -euo pipefail, traps, here-documents, and cron-driven automation

    Objectives

    • Write a Bash script with argument validation and meaningful exit codes
    • Apply defensive options and quoting to avoid common failures
    • Schedule and log script output safely

    Key concepts

    • shebang and execute bit
    • quoting and expansion
    • if, case, for, while
    • exit codes
    • set -euo pipefail
    • trap
    • functions and arguments
    • idempotent scripts
  • Containers on Linux: Primitives & Basic Operations

    Containers as Linux processes (namespaces, cgroups, capabilities), image and container lifecycle with Podman or Docker, volumes and port publishing, rootless containers, systemd-managed containers, and basic orchestration and cloud concepts

    Objectives

    • Run, inspect and clean up containers and explain what isolates them
    • Persist data and publish ports correctly
    • Explain how Kubernetes and cloud services build on container primitives

    Key concepts

    • namespaces and cgroups
    • image vs container
    • run, exec, logs, ps
    • volumes and bind mounts
    • port publishing
    • rootless Podman
    • container registries
    • orchestration and cloud concepts
  • Configuration Automation: Ansible, cloud-init & Git

    Infrastructure as code for Linux fleets: Ansible inventories, ad hoc commands, playbooks, modules and idempotency, cloud-init user data, templating, Git-based workflow for configuration, and drift detection

    Objectives

    • Express a server configuration as an idempotent playbook
    • Bootstrap cloud instances with cloud-init
    • Use Git to review and roll back configuration changes

    Key concepts

    • Ansible inventory and playbooks
    • idempotency
    • cloud-init user data
    • Jinja2 templates
    • Git branching and merge
    • declarative vs imperative
    • vault for secrets
    • drift detection
  • Podman on RHEL: Rootless Containers, Persistent Storage & systemd

    Pulling UBI and registry images, running detached rootless containers with published ports, bind mounts with :Z labeling, Containerfile builds, Quadlet .container units run under systemd, loginctl enable-linger, and container troubleshooting

    Objectives

    • Run a rootless container with a published port and SELinux-correct persistent storage
    • Start a container automatically at boot as a systemd user service
    • Troubleshoot a failing container from logs and inspect output

    Key concepts

    • podman run -d -p --name
    • rootless and user namespaces
    • -v host:ctr:Z
    • podman build -t
    • Quadlet .container files
    • systemctl --user and enable-linger
    • podman logs, exec, inspect
    • unprivileged port start
  • Git Workflow: reset, stash & Untracking Committed Files

    Everyday Git recovery operations used by administrators managing configuration repositories: git reset --soft, --mixed and --hard and what each does to HEAD, the index and the working tree, git stash push, list, pop and apply to park uncommitted changes, and removing a committed file from tracking with git rm --cached together with .gitignore while keeping the file on disk (with history rewrite needed to purge secrets)

    Objectives

    • Choose the reset mode that undoes a commit without losing work
    • Park and restore uncommitted changes with stash
    • Stop tracking a committed file without deleting it from disk

    Key concepts

    • git reset soft mixed hard
    • HEAD index working tree
    • git stash push pop apply
    • git rm --cached
    • .gitignore
    • purging a committed secret
  • Deployment Strategies (Canary, Blue-Green, Rolling) & Kubernetes Secrets

    Releasing changes safely and handling credentials in orchestrated environments: rolling updates, blue-green deployments with instant switchback, canary releases that route a small percentage of traffic to the new version and promote on healthy metrics, and Kubernetes Secrets (created with kubectl create secret generic, base64 encoding is not encryption, mounted as volumes or environment variables, encryption at rest, RBAC limits, external secret stores)

    Objectives

    • Pick a deployment strategy for a risk and downtime requirement
    • Describe how a canary is promoted or rolled back on metrics
    • Handle a Kubernetes Secret safely

    Key concepts

    • rolling update
    • blue-green deployment
    • canary release
    • traffic weighting and rollback
    • Kubernetes Secret
    • base64 is not encryption
    • secret as volume or env variable
    • encryption at rest and RBAC
  • Python for Administrators: sys.argv, subprocess, JSON, venv & Error Handling

    Python 3 in administration scripts: reading command-line arguments with sys.argv and argparse (int conversion of sys.argv[1]), running commands safely with subprocess.run using a list of arguments, capture_output=True, text=True and check=True without shell=True to avoid injection, loading JSON with json.load, isolating dependencies with python3 -m venv and source venv/bin/activate plus pip install, try/except FileNotFoundError to fail with a clear message, and dict.get(key, default) for optional settings

    Objectives

    • Parse arguments and convert types in a Python admin script
    • Run external commands without shell injection
    • Load configuration, handle missing files and defaults, and isolate dependencies in a virtual environment

    Key concepts

    • sys.argv and argparse
    • subprocess.run list args
    • shell=True injection
    • json.load
    • python3 -m venv
    • try except FileNotFoundError
    • dict.get default
  • Git for Administrators: revert on Shared Branches, blame & History Inspection

    Undoing and inspecting history in configuration repositories: git revert abc1234 creating a new commit that undoes a pushed commit without rewriting history (versus reset and force push), git revert -m for merge commits, git blame -L to show the author and commit of each line in a file such as sshd_config, git log -p and git log --follow for a file, and git bisect to locate a breaking commit

    Objectives

    • Undo a published commit without rewriting shared history
    • Find who changed a line and why with blame and log
    • Locate the commit that introduced a regression

    Key concepts

    • git revert
    • history rewrite on shared branches
    • git blame
    • git log -p --follow
    • git bisect
  • Configuration Management: Ansible Vault Secrets & Push vs Pull Models

    Operating configuration management at scale: encrypting variable files with ansible-vault encrypt, edit, view and --vault-id so playbook secrets can be committed to Git, supplying the password with --ask-vault-pass or a vault password file, and choosing push (Ansible over SSH from a controller) versus pull (ansible-pull, Puppet agent, Chef client) models when hundreds of hosts sit behind NAT and cannot accept inbound connections

    Objectives

    • Protect playbook secrets with Ansible Vault
    • Choose between push and pull configuration management for a topology
    • Keep hosts converged periodically without inbound access

    Key concepts

    • ansible-vault encrypt
    • --ask-vault-pass and vault password file
    • encrypted vars in Git
    • push versus pull
    • ansible-pull
    • agent-based configuration management
    • periodic convergence
  • AI Assistants in Administration: Prompting, Verification, Data Handling & Licensing

    Using generative AI safely for Linux administration: giving the assistant the distribution and version (Ubuntu 24.04 versus Rocky Linux 8) so commands match the package manager and paths, treating output as unverified (hallucinated packages, flags or modules), checking package names in official repositories, reviewing and testing generated scripts with dry runs, shellcheck and a non-production host before production, never pasting passwords, API keys or customer data into public AI services, and handling licensing and provenance of generated code that resembles GPL projects

    Objectives

    • Write prompts that give distribution and version context
    • Validate AI-generated commands and scripts before production use
    • Protect secrets and respect licences when using AI tools

    Key concepts

    • supplying OS and version context
    • AI hallucinated packages
    • verify before running
    • dry run and shellcheck
    • secrets in prompts
    • data privacy
    • code licensing and provenance
5 · Troubleshooting10 topics
  • Troubleshooting Storage Issues

    Diagnosing full filesystems and inode exhaustion, df/du/lsof, mount and fstab failures, filesystem repair with fsck and xfs_repair, LVM and RAID degradation, I/O bottlenecks with iostat/iotop, and failing disks with SMART

    Objectives

    • Find what consumes space or inodes and free it safely
    • Recover from a failed mount or degraded array without data loss
    • Identify I/O saturation and its source

    Key concepts

    • df vs du and deleted-but-open files
    • inode exhaustion
    • fsck and xfs_repair
    • degraded mdadm array
    • LVM recovery
    • iostat and iotop
    • SMART
    • read-only remount
  • Troubleshooting Network Resource Issues

    Layered diagnosis of connectivity: link, IP, route, DNS and port; ping, traceroute, mtr, ss, dig, curl, tcpdump; firewall and routing misconfiguration, MTU and duplicate IP problems, and bandwidth and latency analysis

    Objectives

    • Isolate the failing layer with a minimal command sequence
    • Differentiate DNS, routing, firewall and service failures
    • Capture and interpret traffic to confirm a hypothesis

    Key concepts

    • bottom-up diagnosis
    • ping, traceroute, mtr
    • ss -tulpn
    • dig and resolver order
    • tcpdump filters
    • MTU and fragmentation
    • asymmetric routing
    • firewall vs service down
  • Troubleshooting CPU & Memory Issues

    Interpreting load average, top/htop, vmstat, free, sar and pidstat; CPU saturation vs I/O wait, memory pressure, swapping, OOM killer behavior, memory leaks, runaway processes, and cgroup limits

    Objectives

    • Interpret load and memory metrics to name the bottleneck
    • Respond to an OOM kill and find the cause
    • Throttle or restart a runaway process responsibly

    Key concepts

    • load average semantics
    • top and vmstat columns
    • iowait vs CPU-bound
    • free and available memory
    • swap thrashing
    • OOM killer and oom_score
    • pidstat and sar
    • cgroup limits
  • Troubleshooting User Access & File Permissions

    Resolving login failures, locked accounts, sudo denials, 'Permission denied' on files and directories, ownership and group membership issues, ACL and SELinux denials, quota and ulimit limits

    Objectives

    • Trace a permission denied error from path traversal to final cause
    • Distinguish DAC, ACL and SELinux denials
    • Recover a locked account or broken sudo access safely

    Key concepts

    • namei and effective permissions
    • group membership refresh
    • faillock and account lockout
    • sudo logs
    • ausearch and sealert
    • quota exceeded
    • ulimit and limits.conf
    • PAM errors
  • Troubleshooting with systemd & Boot Problems

    Diagnosing failed units with systemctl status and journalctl, dependency and ordering cycles, systemd-analyze blame, rescue and emergency targets, GRUB and initramfs repair, and recovering from bad fstab or lost root passwords

    Objectives

    • Diagnose a failed service from unit status and journal evidence
    • Boot into rescue or emergency mode and repair configuration
    • Reduce boot time by analyzing unit timing

    Key concepts

    • systemctl status and --failed
    • journalctl -u -b -p
    • Requires vs After
    • systemd-analyze
    • rescue.target and emergency.target
    • GRUB2 rescue
    • initramfs and dracut
    • rd.break root reset
  • Storage Troubleshooting: Busy Unmounts with fuser, SMART Disk Health & noexec Mounts

    Diagnosing storage faults: a 'target is busy' unmount resolved by finding processes with fuser -vm or lsof +f, then stopping them or using a lazy unmount carefully, drive health from smartctl -H and -a (reallocated, pending and uncorrectable sectors, temperature) and smartd alerts, and 'permission denied' executing a script from a filesystem mounted noexec, found with findmnt or mount and fixed with a remount or running through an interpreter

    Objectives

    • Find and stop whatever blocks an unmount
    • Read SMART output to judge disk health and decide on replacement
    • Recognize noexec as the reason a permitted executable will not run

    Key concepts

    • umount target is busy
    • fuser -vm and lsof
    • lazy unmount
    • smartctl -H and -a
    • reallocated and pending sectors
    • smartd
    • noexec mount option
    • findmnt and remount
  • Performance Troubleshooting: OOM Killer, strace & sysstat/sar

    Deep-dive diagnosis tools: the kernel OOM killer (dmesg and journalctl evidence 'Out of memory: Killed process', oom_score and oom_score_adj from -1000 to 1000 to protect or sacrifice processes, vm.overcommit_memory, cgroup memory limits), tracing system calls with strace (-p, -f, -e trace=file or network, -c summary, -tt timestamps) to see why a process hangs or cannot open a file, and historical performance data with sysstat (sar -u CPU, -r memory, -d disk, -n DEV network, -q load, sadc collection and the sa files)

    Objectives

    • Prove from logs that the OOM killer ended a process and protect a critical service
    • Use strace to find the failing system call of a stuck program
    • Use sar to analyze past CPU, memory and disk behavior

    Key concepts

    • OOM killer
    • oom_score_adj
    • dmesg out of memory
    • vm.overcommit_memory
    • strace -p -f -e
    • strace -c
    • sysstat sar
    • sar -u -r -d -n DEV
    • sadc history
  • Network Troubleshooting: Duplicate IPs with arping & Ephemeral Port Exhaustion (TIME-WAIT)

    Two network faults: intermittent connectivity from duplicate IP addresses on a segment, detected with arping -D (duplicate address detection exit status) or arping -I and by inspecting ARP cache MAC changes (ip neigh), and outbound connection failures caused by ephemeral port exhaustion with many sockets in TIME-WAIT, seen with ss -s, tuned with net.ipv4.ip_local_port_range, connection reuse and keep-alive, and net.ipv4.tcp_tw_reuse

    Objectives

    • Detect and resolve an IP address conflict
    • Recognize ephemeral port exhaustion as the cause of intermittent outbound connection failures
    • Apply connection reuse and port range tuning correctly

    Key concepts

    • duplicate IP address
    • arping -D
    • ip neigh ARP cache
    • gratuitous ARP
    • ephemeral port range
    • TIME-WAIT sockets
    • ss -s and ss -tan state
    • tcp_tw_reuse and connection reuse
  • Connectivity & Auth Troubleshooting: ssh -v, nc Port Tests, Kerberos Clock Skew & resolvectl

    Diagnosing remote-access failures step by step: ssh -v/-vv/-vvv to see the keys and authentication methods the client tries, testing whether a TCP port such as 5432 is reachable without sending application data using nc -zv host port (or bash /dev/tcp), Kerberos 'Clock skew too great' caused by time drift and fixed by synchronizing time with chrony or NTP, and viewing per-interface DNS servers and search domains on systemd-resolved hosts with resolvectl status

    Objectives

    • Use client verbosity to find why SSH authentication fails
    • Test TCP reachability without sending data
    • Resolve Kerberos time skew and inspect DNS settings per interface

    Key concepts

    • ssh -vvv debug output
    • nc -zv port test
    • /dev/tcp test
    • Kerberos clock skew
    • chrony time sync
    • resolvectl status
    • systemd-resolved DNS per link
  • Boot Recovery: Rebuilding the initramfs from a Rescue chroot (dracut, update-initramfs)

    Recovering a system that drops to an emergency shell because the initramfs lacks the storage driver: booting rescue media, mounting the root filesystem and bind-mounting /dev, /proc and /sys, entering it with chroot, regenerating the image with dracut -f --kver on RHEL-family, update-initramfs -u -k on Debian-family or mkinitcpio -P on Arch, and verifying contents with lsinitrd or lsinitramfs

    Objectives

    • Diagnose a boot failure caused by a missing driver in the initramfs
    • Enter a system from rescue media with chroot
    • Rebuild and verify the initramfs for the distribution family

    Key concepts

    • emergency shell and initramfs
    • rescue chroot with bind mounts
    • dracut -f
    • update-initramfs -u
    • lsinitrd
    • missing storage driver

Levels: Junior, Mid, and Senior

Explain it in your own words

Graded by AI · no account · 1 question

No options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.

0 / 600

Already studying Linux System Administration?

The assessment measures topic by topic, and your plan skips what you already know.

Open to read. An account is only needed to be measured.

Frequently asked questions

Where should I start studying Linux System Administration?

Start with System Fundamentals & Software: Linux Fundamentals & Boot Process, Files, Directories & Text Processing, and Package Management & Building Software. The map orders topics by what they depend on, so each one prepares the next.

How long does a full Linux System Administration assessment take?

A full assessment of this path takes about 55 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.

Do I need an account to use this page?

No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.