LFA study plan
LFA · Give each week a clear focus.
8 weeks · About 6 hours per week
Linux Fundamentals
Install a Linux distribution in a virtual machine, then complete first boot, create a non-root sudo user, and confirm kernel version and release information with uname and /etc/os-release.
Navigate and manipulate the filesystem from the shell only: create, move, copy, rename, and delete nested directory trees, and locate files with find and grep by name, size, and modification time.
Read and change permissions and ownership on files and directories using chmod symbolic and octal modes plus chown, and predict the effect of a umask value before testing it.
Use the package manager to search, install, upgrade, and remove software, and identify which package owns a given binary path.
Manage running processes with ps, top, kill, and job control, and explain the difference between a foreground job, a background job, and a daemon.
Your checkpoint
A written lab log of at least 25 shell commands with the exact command, its output, and a one-line explanation of each, plus one deliberately mis-permissioned file that you diagnosed and fixed with documented reasoning.
Linux Fundamentals & System Administration Fundamentals
Write and debug a Bash script that uses variables, conditionals, loops, functions, and exit codes, and validate it with shellcheck or an equivalent linter.
Create and manage local users and groups, set password aging, and modify group membership without breaking existing sessions.
Standard input, standard output, and standard error: redirect and pipe command output into files and other commands, and capture failing output for later review.
Write a systemd service unit for a small script, enable it at boot, start and stop it, and read its status output and logs.
Use cron and systemd timers to schedule a recurring job and confirm from logs that it fired at the scheduled time.
Your checkpoint
A working Bash script under version control that creates a batch of users from a text file, reports the ten largest files on disk, and logs both success and failure paths, demonstrated by a run showing at least one intentional failure handled cleanly.
System Administration Fundamentals
Configure and inspect network settings from the command line, including interface addresses, default gateway, DNS resolution, and listening ports.
Diagnose a connectivity failure step by step, isolating whether the fault is link, address, routing, DNS, or the remote service.
Mount, unmount, and inspect block storage, then compare free and used space with df and du and explain the discrepancy between them.
Triage a service outage using journalctl and system logs: find the first error, correlate it with a timestamp, and form a testable hypothesis before changing anything.
Apply the principle of smallest change: revert a broken configuration to a known-good state using backups and versioned config files.
Your checkpoint
A short incident report on a service you deliberately broke, covering symptoms observed, evidence gathered from logs, the single command that fixed it, and how you verified the fix.
System Administration Fundamentals & Security Fundamentals
Harden a fresh server: disable password SSH login, enforce key-based authentication, and lock down sudo access to a named group.
Configure a host firewall to allow only the services you intend to expose, then prove from a second machine that blocked ports are actually unreachable.
Explain the Linux permission model as an access-control mechanism, including the security meaning of setuid, setgid, and world-writable files, and find any such files on your system.
Differentiate authentication from authorization and give one concrete Linux example of each in a server you configured.
Review the contents of a system log for signs of repeated failed logins and describe what an alert would need to capture.
Your checkpoint
A server hardening checklist with at least eight controls, each marked applied or not applicable, backed by command output showing SSH key-only login enforced and the firewall rejecting a blocked port.
Cloud Computing Fundamentals
Provision a small virtual machine in a cloud provider free tier and connect to it over SSH with a key pair you generated, not one provided by the console.
Place the instance in a network with a route to the internet and a security group or firewall rule that exposes only SSH and one application port.
Create an identity with least-privilege permissions for a specific task and demonstrate that it fails when you attempt an action outside that scope.
Create object storage, upload and retrieve a file, and set a bucket policy or access setting that prevents public read access, then verify the denial.
Set a budget or billing alert and explain the difference between a stopped instance, a terminated instance, and a released static IP in terms of cost.
Your checkpoint
A cost-capped cloud environment with a written architecture note listing each resource, its purpose, its access rule, and the monthly cost estimate, plus evidence that anonymous access to your storage bucket was denied.
Security Fundamentals
Classify common threats by what they target (credential theft, data exposure, service disruption) and map each to one preventive control you can configure on your own host.
Encrypt and decrypt a file with a symmetric tool, hash a file and verify its integrity, and explain where hashing is used versus where encryption is required.
Inspect a TLS certificate from the command line, including issuer, validity dates, and subject name, and explain what a browser warning about a mismatched name means.
Apply the CIA triad to a scenario: state which property is harmed, what evidence you would collect, and what the first containment step would be.
Explain the role of patching and vulnerability scanning in a maintenance cycle and schedule a recurring update job on your server.
Your checkpoint
A security review of your own lab environment identifying at least five weaknesses, the risk each carries, the control you applied, and the command output proving the control is active.
DevOps Fundamentals & Supporting Applications and Developers
Use Git for a real workflow: branch, commit with meaningful messages, open a pull request, resolve a merge conflict, and tag a release.
Containerize a small application with a Dockerfile, run it locally, map a port, and explain how the container differs from the same process running directly on the host.
Build a CI pipeline that installs dependencies, runs tests, and fails the build on a lint error, then trigger a deliberate failure and read the pipeline log to find the cause.
Read an application stack trace or log entry and identify which layer failed: application code, runtime or dependency, host resource, or network.
Test an HTTP API with curl, including a request with a JSON body and a check of the response status code, and diagnose a 401 versus a 403 response.
Your checkpoint
A public or local repository containing an application, a Dockerfile, and a CI configuration that runs green on a good commit and red on a deliberately broken one, with a short README explaining the pipeline stages.
Supporting Applications and Developers & Security Fundamentals
Walk through a support scenario end to end: gather the report, reproduce the issue, isolate the layer, and communicate a status update to a non-technical requester.
Write a runbook for one recurring problem that a colleague could follow without your help, including prerequisites, steps, and rollback.
Revisit every goal from weeks 1 through 7 and rate your confidence on each, then redo the two weakest labs until you can complete them unaided.
Complete a timed practice assessment across all six domains, then review every missed item and record the underlying concept rather than the answer.
Your checkpoint
A passing score of at least 80 percent on a full-length timed practice assessment, plus a one-page runbook and a written list of your remaining weak areas with the date you will revisit each.
Milestones
Week 2: You can install Linux, manage users and permissions, and deploy a scheduled scripted task without following a tutorial step by step; your Bash script passes a linter with no unresolved warnings.
Week 4: You have diagnosed and fixed a broken service using only logs and command-line tools, and your hardened server rejects password SSH logins and unreachable ports as verified from a second machine.
Week 6: You have deployed a working cloud instance with restricted network and identity permissions and produced a security review of your own environment covering at least five weaknesses with evidence of remediation.
Week 8: You score 80 percent or higher on a timed full-length practice assessment and can point to a repository, a runbook, and a hardening checklist you produced yourself as evidence across all six domains.