secilc man page

secilc ā€” invoke the SELinux Common Intermediate Language (CIL) Compiler


secilc [OPTION...] file


secilc invokes the CIL compiler with the specified arguments to build a kernel binary policy. A file_contexts file will also be built as described in the FILE FORMAT section of file_contexts(5).


-o, --output=<file>

Write binary policy to file (default: policy.version)

-f, --filecontext=<file>

Write file contexts to file (default: file_contexts)

-t, --target=<type>

Specify target architecture. May be selinux or xen (default: selinux)

-M, --mls true|false

Build an mls policy. Must be true or false. This will override the (mls boolean) statement if present in the policy.

-c, --policyvers=<version>

Build a binary policy with a given version (default: depends on the systems SELinux policy version, see sestatus(8))

-U, --handle-unknown=<action>

How to handle unknown classes or permissions. May be deny, allow, or reject (default: deny). This will override the (handleunknown action) statement if present in the policy.

-D, --disable-dontaudit

Do not add dontaudit rules to the binary policy.

-P, --preserve-tunables

Treat tunables as booleans.

-N, --disable-neverallow

Do not check neverallow rules.

-G, --expand-generated

Expand and remove auto-generated attributes

-X, --attrs-size <size>

Expand type attributes with fewer than <SIZE> members.

-v, --verbose

Increment verbosity level.

-h, --help

Display usage information.

See Also

file_contexts(5), sestatus(8)

HTML documentation describing the CIL language statements is available starting with docs/html/index.html.

PDF documentation describing the CIL language statements is available at: docs/pdf/CIL_Reference_Guide.pdf.

There is a CIL Design Wiki at: that describes the goals and features of the CIL language.


Richard Haines

Referenced By


10/20/2017 secilc SELinux CIL Compiler