Hands-on Linux & open-source challenges, each on a live throwaway box and graded automatically. Pick a track:
▶ Start practicingWrite robust shell: loops, parsing, exit codes and small automation.
45 challenges →
Author Dockerfiles and Compose files; build and run container workloads.
45 challenges →
Incident response: evict rogue accounts, eradicate persistence, attribute a breach.
45 challenges →
Infrastructure as code: author Packer image builds and Ansible playbooks, graded structurally.
10 challenges →
Author and reason about nftables rulesets — filtering, NAT and policy.
45 challenges →
Core Linux fundamentals: files, users, groups, permissions and everyday administration.
39 challenges →
Author Pod, Deployment and Service manifests and reason about scheduling.
45 challenges →
Interfaces, routes, DNS, listening sockets and connectivity troubleshooting.
45 challenges →
Authorized local-privilege-escalation wargames on a disposable box you own.
45 challenges →
OS performance troubleshooting on a live box: hunt down CPU, memory, I/O and process problems with top, vmstat, iostat and pidstat.
6 challenges →
Red Hat-family specifics: rpm, dnf, SELinux and packaging.
45 challenges →
Certificates, signatures, hardening sshd and verifying trust.
45 challenges →
Files, sizes, mounts, tmpfs, loop devices and recovering from a full disk.
45 challenges →
grep, sed, awk, cut and friends — extract and reshape text and logs.
45 challenges →
Something is broken on purpose — diagnose it and put it right.
5 challenges →
Debian-family specifics: apt, packaging and distro conventions.
45 challenges →
VM and virtualization configuration and tooling.
45 challenges →
Serve and deploy real web apps: nginx, ports, reverse proxies and rollouts.
45 challenges →
Serve and deploy real web apps: nginx, ports, reverse proxies and rollouts.
1 challenges →
Units, services, ordering and dependencies — enable, start, repair and verify.
45 challenges →