Where is the Policy?
There are two components to the policy: the binary tree and the source tree. The binary tree is provided by the selinux-policy-
package and supplies the binary policy file.
<policyname>
Alternatively, the binary policy can be built from source when the selinux-policy-devel
package is installed.
Information on how to edit, write and compile policy is currently outside the scope of this document.
These files should never be manually changed. You should use the For developing policy modules, the This package installs the policy interface files under To help applications that need the various SELinux paths, For example, if SELINUXTYPE is set to strict, the active policy location is under To view the list of available functions, use the following command:
This man page is available only if you have the The use of Binary Tree Files
/etc/selinux/targeted/
- this is the root directory for the targeted policy, and contains the binary tree.
/etc/selinux/targeted/policy/
- this is the location of the binary policy file policy.
. In this guide, the variable <xx>
SELINUX_POLICY
is used for this directory.
/etc/selinux/targeted/contexts/
- this is the location of the security context information and configuration files, which are used during runtime by various applications.
/etc/selinux/targeted/contexts/files/
- contains the default contexts for the entire file system. This is referenced by restorecon
when performing relabeling operations.
/etc/selinux/targeted/contexts/users/
- in the targeted policy, only the root
file is in this directory. These files are used for determining context when a user logs in. For example, for the root user, the context is user_u:system_r:unconfined_t.
/etc/selinux/targeted/modules/active/booleans*
- this is where the runtime Booleans are configured.
getsebool
, setsebool
and semanage
tools to manipulate runtime Booleans.Source Tree Files
selinux-policy-devel
package includes all of the interface files used to build policy. It is recommended that people who build policy use these files to build the policy modules.
/usr/share/selinux/devel/include
and has make
files installed in /usr/share/selinux/devel/Makefile
.
libselinux
provides a number of functions that return the paths to the different configuration files and directories. This negates the need for applications to hard-code the paths, especially since the active policy location is dependent on the SELINUXTYPE setting in /etc/selinux/config
.
/etc/selinux/strict
.
man 3 selinux_binary_policy_path
libselinux-devel
RPM installed.
libselinux
and related functions is outside the scope of this document.