
If SELinux has been disabled in your environment, you can enable SElinux by editing /etc/selinux/config and setting SELINUX=permissive. Type enforcement is the part of an SELinux policy that defines whether a process running with a certain type can access a file labeled with a certain type. SELinux uses type enforcement to enforce a policy that is defined on the system.

Label type is the most important for targeted policy. User, role, and level are used in more advanced implementations of SELinux, like with MLS. Labels are in the format user:role:type:level (level is optional). The kernel manages the labels during boot. Labels are a logical way of grouping things together. SELinux works as a labeling system, which means that all of the files, processes, and ports in a system have an SELinux label associated with them. Type enforcement and labeling are the most important concepts for SELinux. The file will have a section that shows you whether SELinux is in permissive mode, enforcing mode, or disabled, and which policy is supposed to be loaded. You can tell what your system is supposed to be running at by looking at the /etc/sysconfig/selinux file. MLS can be very complicated and is typically only used by government organizations.

Targeted policy is the default option and covers a range of processes, tasks, and services. The most common are targeted policy or multi-level security (MLS). There are a number of ways that you can configure SELinux to protect your system. If permission is denied, an "avc: denied" message will be available in /var/log.messages.

Security context is applied from the SELinux policy database. The security server checks for the security context of the app or process and the file. If SELinux is unable to make a decision about access based on the cached permissions, it sends the request to the security server. When an application or process, known as a subject, makes a request to access an object, like a file, SELinux checks with an access vector cache (AVC), where permissions are cached for subjects and objects. It uses security policies, which are a set of rules that tell SELinux what can or can’t be accessed, to enforce the access allowed by a policy. SELinux defines access controls for the applications, processes, and files on a system.
