Access Vector RulesallowSpecifies the access allowed between a source and target type. Note that access may be refined by constraint rules based on the source, target and class (validatetrans or mlsvalidatetrans) or source, target class and permissions (constrain or mlsconstrain statements).Rule definition:Where:allowThe allow keyword.source_idA single previously defined source type, typealias or typeattribute identifier.target_idA single previously defined target type, typealias or typeattribute identifier.The self keyword may be used instead to signify that source and target are the same.classpermissionset_idA single named or anonymous classpermissionset or a single set of classmap/classmapping identifiers.Examples:These examples show a selection of possible permutations of allow rules:auditallowAudit the access rights defined if there is a valid allow rule. Note: It does NOT allow access, it only audits the event.Rule definition:Where:auditallowThe auditallow keyword.source_idA single previously defined source type, typealias or typeattribute identifier.target_idA single previously defined target type, typealias or typeattribute identifier.The self keyword may be used instead to signify that source and target are the same.classpermissionset_idA single named or anonymous classpermissionset or a single set of classmap/classmapping identifiers.Example:This example will log an audit event whenever the corresponding allow rule grants access to the specified permissions:dontauditDo not audit the access rights defined when access denied. This stops excessive log entries for known events.Note that these rules can be omitted by the CIL compiler command line parameter -D or --disable-dontaudit flags.Rule definition:Where:dontauditThe dontaudit keyword.source_idA single previously defined source type, typealias or typeattribute identifier.target_idA single previously defined target type, typealias or typeattribute identifier.The self keyword may be used instead to signify that source and target are the same.classpermissionset_idA single named or anonymous classpermissionset or a single set of classmap/classmapping identifiers.Example:This example will not audit the denied access:neverallowNever allow access rights defined. This is a compiler enforced action that will stop compilation until the offending rules are modified.Note that these rules can be over-ridden by the CIL compiler command line parameter -N or --disable-neverallow flags.Rule definition:Where:neverallowThe neverallow keyword.source_idA single previously defined source type, typealias or typeattribute identifier.target_idA single previously defined target type, typealias or typeattribute identifier.The self keyword may be used instead to signify that source and target are the same.classpermissionset_idA single named or anonymous classpermissionset or a single set of classmap/classmapping identifiers.Example:This example will not compile as type_3 is not allowed to be a source type for the allow rule: