checkpolicy8
Selinux policy compiler
Usage
checkpolicy [-b
[F]]
[-C]
[-d]
[-U
handle_unknown
(allow,deny,reject)]
[-M]
[-N]
[-c
policyvers]
[{-o
output_file | -}]
[-S]
[-t
target_platform
(selinux,xen)]
[-O]
[-E]
[-V]
[input_file]
Overview
This manual page describes the checkpolicy command.
checkpolicy is a program that checks and compiles a SELinux security policy configuration into a binary representation that can be loaded into the kernel. If no input file name is specified, checkpolicy will attempt to read from policy.conf or policy, depending on whether the -b flag is specified.
Options
-
-b,--binary -
Read an existing binary policy file rather than a source policy.conf file.
-
-F,--conf -
Write policy.conf file rather than binary policy file. Can only be used with binary policy file.
-
-C,--cil -
Write CIL policy file rather than binary policy file.
-
-d,--debug -
Enter debug mode after loading the policy.
-
-U,--handle-unknown <action> -
Specify how the kernel should handle unknown classes or permissions (deny, allow or reject).
-
-M,--mls -
Enable the MLS policy when checking and compiling the policy.
-
-N,--disable-neverallow -
Do not check neverallow rules.
-
-c policyvers -
Specify the policy version, defaults to the latest.
-
-o,--output filename -
Write a policy file (binary, policy.conf, or CIL policy) to the specified filename. If - is given as filename, write it to standard output.
-
-S,--sort -
Sort ocontexts before writing out the binary policy. This option makes output of checkpolicy consistent with binary policies created by semanage and secilc.
-
-t,--target -
Specify the target platform (selinux or xen).
-
-O,--optimize -
Optimize the final kernel policy (remove redundant rules).
-
-E,--werror -
Treat warnings as errors
-
-V,--version -
Show version information.
-
-h,--help -
Show usage information.
Examples
Generate policy.conf based on the system policy # checkpolicy -b -M -F /etc/selinux/targeted/policy/policy.33 -o policy.conf Recompile system policy so that unknown permissions are denied (uses policy.conf from ^^). Note that binary policy extension represents its version, which is subject to change # checkpolicy -M -U deny -o /etc/selinux/targeted/policy/policy.33 policy.conf # load_policy Generate CIL representation of current system policy # checkpolicy -b -M -C /etc/selinux/targeted/policy/policy.33 -o policy.out
Releases
11 releases since Debian 3.1 (Sarge); the text changed 8 times.
--binary since Debian 6.0 (Squeeze);
--cil since Debian 9 (Stretch);
--conf since Debian 10 (Buster);
--debug since Debian 6.0 (Squeeze);
--disable-neverallow since Debian 13 (Trixie);
--handle-unknown since Debian 6.0 (Squeeze);
--help since Debian 6.0 (Squeeze);
--mls since Debian 6.0 (Squeeze);
--optimize since Debian 11 (Bullseye);
--output since Debian 6.0 (Squeeze);
--sort since Debian 11 (Bullseye);
--target since Debian 6.0 (Squeeze);
--version since Debian 6.0 (Squeeze);
--werror since Debian 11 (Bullseye);
-C since Debian 9 (Stretch);
-E since Debian 11 (Bullseye);
-F since Debian 10 (Buster);
-N since Debian 13 (Trixie);
-O since Debian 11 (Bullseye);
-S since Debian 11 (Bullseye);
-U since Debian 6.0 (Squeeze);
-V since Debian 6.0 (Squeeze);
-h since Debian 6.0 (Squeeze);
-t since Debian 6.0 (Squeeze).