51.2.2. Analyzing the Type Enforcement (TE) File
Use the
cat
command to inspect the contents of the TE file:
~]# cat mysemanag.te
module mysemanage 1.0;
require {
class fd use;
type init_t;
type semanage_t;
role system_r;
};
allow semanage_t init_t:fd use;
The TE file is comprised of three sections. The first section is the
module
command, which identifies the module name and version. The module name must be unique. If you create an semanage
module using the name of a pre-existing module, the system would try to replace the existing module package with the newly-created version. The last part of the module line is the version. semodule
can update module packages and checks the update version against the currently installed version.
The next block of the TE file is the
require
block. This informs the policy loader which types, classes and roles are required in the system policy before this module can be installed. If any of these fields are undefined, the semodule
command will fail.
Lastly are the allow rules. In this example, you could modify this line to
dontaudit
, because semodule
does not need to access the file descriptor.