Linux Scenario Labs
Fix permissions, crontabs, systemd services, firewall rules, and more
How It Works
Each lab drops you into a broken config. Your job: find the bug and fix it.
Read the Scenario
Understand what went wrong — a teammate pushed broken config and CI is failing.
Debug in the Terminal
Run the tool, read the errors, and trace them back to the source.
Fix & Verify
Edit the config, re-run the check, and confirm a clean result.
Beginner
4 labsStart here — core concepts and simple fixes
Fix Bash Deployment Script
Deployment script fails silently — missing shebang, unquoted variables, wrong operators, no error handling.
Fix Crontab Schedule
A backup cron job runs at the wrong time and a log rotation entry has invalid syntax. Fix the crontab.
Fix DNS Resolution
Server can't resolve domains — resolv.conf has invalid nameservers and nsswitch.conf is misconfigured.
Fix File Permissions
A deploy script lacks execute permission and a secrets file is world-readable. Fix the permissions.
Intermediate
3 labsLevel up — multi-resource configs and debugging
Fix Firewall Rules
Firewall blocks HTTP/HTTPS but allows SSH from anywhere. Fix iptables for a secure web server.
Fix /etc/fstab
Server won't boot — fstab has wrong filesystem type, bad swap mount point, and missing fields.
Fix /etc/hosts File
An app can't resolve internal hostnames due to wrong IPs and duplicate entries in /etc/hosts.
Advanced
3 labsExpert mode — complex configurations and edge cases
Fix Nginx Configuration
Nginx returns 502 Bad Gateway — wrong upstream port, mismatched proxy_pass, and missing headers.
Fix SSH Server Config
An SSH server is insecure — root login is allowed, password auth is on, and it's on the default port.
Fix Systemd Service Unit
A Node.js systemd service won't start — wrong ExecStart path, bad user, and no restart policy.