There are two main directories for SELinux policy in
/etc/selinux/:
It is possible to have more than one policy existing on the system, although
only one may be loaded at a time. The policy binary files, and possibly
source files, are located in
/etc/selinux/<policyname>/,
where <policyname> is the name of your
policy, such as targeted, strict, webhost, test, and so forth. The
configuration file /etc/selinux/config defines which
policy is used, for example SELINUXTYPE=targeted.
In this document, the convention of $DIRECTORY_TYPE is
used instead of the full path to assist in readability:
The variable directory $SELINUX_SRC/ is a substitute
for the generic directory of
/etc/selinux/<policyname>/src/policy/
and the targeted policy source directory at
/etc/selinux/targeted/src/policy/.
The variable directory $SELINUX_POLICY/ is a substitute
for the generic directory of
/etc/selinux/<policyname>/policy/
and the binary targeted policy directory at
/etc/selinux/targeted/policy/.
An important file is the audit log file. In Red Hat Enterprise Linux, $AUDIT_LOG by default
is /var/log/messages. However, this is configurable
via /etc/syslog.conf, and future work on an audit
daemon will handle kernel audit events and log them into a separate file.
Because of the variable nature of where the audit logs are, the variable
file $AUDIT_LOG is used as a substitute.
Other important files and directories include
$SELINUX_POLICY/booleans and
$SELINUX_POLICY/contexts/, which are both discussed in Section 3.2 Files and Directories of the Targeted Policy.
The most important file for SELinux is the binary policy file. This file is
located at
/etc/selinux/targeted/policy/policy.<XY>.
The <XY> represents the two digits of the
policy version. In the case of Red Hat Enterprise Linux 4, this file is
policy.18.