Linux labs - 50 hands-on challenges
Solve 50 real Linux challenges in an isolated container in your browser. No setup, no fake shells.
- List Files Like a Pro - beginner · Find hidden files and navigate directory structures using ls flags.
- Fix Broken Permissions - beginner · chmod, chown — restore access to a broken /tmp/app directory.
- Organize the Chaos - beginner · Use cp, mv, rm, mkdir to organize a messy directory left by the previous admin.
- Find the Needle - beginner · grep -r, -E, -i, -c across a messy log directory during a live incident.
- Hunt Down the Files - beginner · Use find with -name, -size, -mtime to locate files across a directory tree.
- Pack and Unpack - beginner · Create tar.gz backups and extract archives — essential for deployments and migrations.
- Set the Environment - beginner · export, env, source — configure environment variables for an application.
- Pipeline Mastery - beginner · Chain commands with |, >, >>, 2>&1 to transform and redirect data.
- Tame Rogue Processes - intermediate · ps, top, kill, nice — stop a runaway process eating CPU in production.
- Parse the Log File - intermediate · awk, sed, cut, sort, uniq — extract stats from server logs like a data engineer.
- Hunt the Disk Hog - intermediate · df, du, find — locate what is eating your disk before the server crashes.
- Onboard a Developer - intermediate · useradd, groupadd, usermod, chown — set up a new developer account with proper access.
- Diagnose the Network - intermediate · ss, curl, nc, nslookup — diagnose service connectivity in production.
- Schedule It - intermediate · Write cron expressions for automated backup and log rotation jobs.
- Passwordless SSH - intermediate · Generate SSH keys, configure authorized_keys, and harden key permissions.
- Incident at 14:23 - advanced · Investigate a production incident by digging through application logs.
- Your First Deploy Script - advanced · Write a bash script with conditionals, exit codes, and variable validation.
- Disk Full — Fix Without Breaking Prod - advanced · Emergency disk cleanup: reclaim space by safely removing only non-critical files.
- Unit File from Scratch - advanced · Write a systemd unit file, enable, start, and read the journal.
- Service Keeps Crashing - advanced · Read logs, find a config bug, fix it, and verify the service starts cleanly.
- Backup the Production Database - beginner · Use pg_dump to create a backup of a running PostgreSQL database.
- Restore from a Backup - beginner · Use psql to restore a PostgreSQL backup into a fresh database.
- Swap Emergency - intermediate · Create an emergency swap file when RAM is critically low.
- Too Many Open Files - intermediate · Fix the "too many open files" error killing a Node.js API under traffic.
- Who Was On the Server? - intermediate · Reconstruct who accessed a server during an incident window.
- Tail a Live Incident - intermediate · Filter streaming application logs in real time without losing events.
- Mount a New Data Volume - intermediate · Format and persistently mount a new disk attached to a production server.
- Replace an Expired SSL Certificate - intermediate · Find an expired certificate on a running nginx, generate a new one, and install it.
- Package Hold and Audit - intermediate · Roll back and pin a package version after an upgrade broke production config.
- Log Rotation Setup - intermediate · Configure logrotate for an 18 GB app log that has never been rotated.
- OOM Kill Forensics - advanced · Reconstruct a silent overnight OOM kill and protect the service permanently.
- Ghost Disk Usage - advanced · Reclaim disk space from a deleted file still held open by a running process.
- Silent Reboot Investigation - advanced · Determine why a server rebooted at 3 AM with no alert and no maintenance window.
- Multi-Stage Incident Simulation - advanced · Diagnose a cascading three-failure incident and write a postmortem.
- CPU Steal — Noisy Neighbour - advanced · Diagnose high CPU steal time and escalate correctly to the cloud provider.
- Kernel Parameter Tuning for Production - advanced · Fix connection drops under load by tuning kernel networking parameters.
- Memory Leak via /proc - advanced · Track a memory leak in production using only /proc — no profiler available.
- cgroup Resource Isolation - advanced · Cap a runaway batch job without killing it, using cgroup v2 limits.
- strace — Binary Crash Forensics - advanced · Find why a compiled binary exits immediately with no error output using strace.
- Zombie Process Flood - advanced · Clear 300+ zombie processes without rebooting by fixing the parent reaping.
- Shared Memory Segment Leak - advanced · Diagnose /dev/shm filling up from orphaned shared memory segments.
- AppArmor Denial Hunting - advanced · Find a silent AppArmor denial that makes a service fail without any error in its log.
- coredump Analysis with gdb - advanced · Extract a crash report from a captured core dump without access to the developer machine.
- auditd — Privilege Escalation Tracking - advanced · Set up auditd to detect and record any modification to sudoers and auth files.
- iptables Stateful Firewall Rules - advanced · Restrict a service port to internal traffic only without locking yourself out of SSH.
- NTP Drift Causing Auth Failures - advanced · Fix clock skew that causes LDAP authentication to fail intermittently.
- Boot Failure from Bad sysctl - advanced · Recover a server that became unreachable after a sysctl change broke networking.
- Filesystem Corruption Recovery - advanced · Repair an ext4 filesystem that mounted read-only after a power loss.
- Bash — Parallel Pipeline with Exit Code Aggregation - advanced · Parallelize a serial pipeline while correctly capturing every child exit code.
- Emergency /etc/passwd Recovery - advanced · Recover a corrupted /etc/passwd that has locked out all users including root.