SELinux
Verpflichtende Zugriffskontrolle im Linux-Kernel, entwickelt von der NSA und 2003 in den Kernel gemerged. Jeder Prozess und jede Datei bekommt ein Label, und eine Richtlinie entscheidet, welche Kombinationen erlaubt sind — unabhängig davon, was die Dateirechte sagen.
Der Unterschied zu gewöhnlichen Rechten: Der Eigentümer kann nicht mehr vergeben, als die Richtlinie zulässt. Ein gekaperter Webserver kann deshalb /etc/shadow nicht lesen, selbst wenn er als root läuft, weil dem Label httpd_t der nötige Übergang fehlt. Es gibt drei Modi: enforcing, permissive (protokolliert, blockiert aber nicht) und disabled. Der berüchtigte Ratschlag, es bei Problemen einfach abzuschalten, wirft eine ganze Verteidigungsschicht über Bord; der richtige Weg führt über ausearch, um zu finden, was verweigert wurde, audit2allow, um eine Regel zu generieren, und semanage fcontext, um Dateien neu zu labeln. Standard unter RHEL und Fedora. AppArmor ist die pfadbasierte Alternative.