Running applications without restrictions
The default behavior in many Linux distributions is to run new applications through unconfined domains. These are specially crafted domains that, while still being controlled by SELinux, are designed to have very, very broad permissions granted. You can compare such unconfined domains with a firewall that allows any possible flow: while the firewall is running, it is hardly doing any enforcement.
There is, however, another approach possible as well, namely, running an application as a permissive domain. Unlike unconfined domains, permissive domains are not enforced through SELinux: everything the domain does is allowed, even though SELinux might log every violation. We briefly touched upon permissive domains in Chapter 3, Understanding SELinux Decisions and Logging.
Let's first look at unconfined domains and how administrators can modify system configuration to apply unconfined domains to other applications, or remove applications...