SELinux Game is an open learning platform for mastering mandatory access control on Linux. Every challenge is designed to teach a real concept through hands-on practice, not slides or multiple-choice quizzes.
We built this platform because we were tired of seeing the same advice repeated across forums, blog posts, and even official documentation: "If SELinux is causing problems, set it to permissive." That advice is the security equivalent of telling someone to remove their seat belt because it is uncomfortable.
SELinux is not broken. It is not unnecessarily strict. It is doing exactly what it was designed to do - confining every process to the minimum set of permissions it needs. The problem is that most Linux admins were never given a structured way to learn how it works. They hit one AVC denial, cannot figure out the fix in five minutes, and reach for setenforce 0.
This game changes that. Each level presents a realistic scenario, explains the underlying SELinux concepts, and gives you the exact commands to diagnose and fix the problem. By the time you finish all six levels, you will understand type enforcement well enough to keep SELinux in enforcing mode on every system you manage.
SELinux Game was built by security educators and Linux system administrators who have spent years working with SELinux in production environments - from web hosting platforms to financial services infrastructure to government systems running MLS policy.
We have collectively spent thousands of hours reading AVC denials, writing custom policy modules, and teaching others how to do the same. This platform distills that experience into a structured progression that anyone with basic Linux skills can follow.
The challenges are designed for systems running the targeted SELinux policy, which is the default on:
If you are running one of these distributions with SELinux in enforcing mode, you can work through every level on your own machine or in a virtual environment.
Each level follows the same structure:
The levels are ordered by difficulty. Level 1 starts with the basics of enforcing mode. Level 6 throws a multi-service stack at you with denials across every component. Work through them in order for the best learning experience.
SELinux Game is community-driven and free to use. There are no paywalls, no registration requirements, and no tracking scripts. The content is written by practitioners for practitioners.
If you find an error in a challenge, want to suggest a new level, or have a real-world SELinux scenario that would make a good puzzle, we welcome contributions. The best way to help is to share the platform with someone who is about to type setenforce 0.
Ready to begin? Head to Level 1: Enforcing Mode and earn your first 100 XP.