bypass the mandatory constraints imposed on all confined processes. For more in-
formation about what is constrained, see the
apparmor(7)
man page.
WARNING: Using Unconstrained Execute Mode (ux)
Use
ux
only in very special cases. It enables the designated child processes
to be run without any AppArmor protection.
ux
does not scrub the envi-
ronment of variables such as
LD_PRELOAD
. As a result, the calling domain
may have an undue amount of influence over the called resource. Use this
mode only if the child absolutely must be run unconfined and
LD_PRELOAD
must be used. Any profile using this mode provides negligible security. Use
at your own risk.
This mode is incompatible with
Ux
,
px
,
Px
, and
ix
.
Unconstrained Execute Mode (Ux)—Clean Exec
Ux
allows the named program to run in
ux
mode, but AppArmor invokes the Linux
kernel's
unsafe_exec
routines to scrub the environment, similar to setuid pro-
grams. See
ld.so(8)
for some information about setuid and setgid environment
scrubbing.
WARNING: Using Unconstrained Execute Mode (Ux)
Use
Ux
only in very special cases. It enables the designated child processes
to run without any AppArmor protection. Use this mode only if the child
absolutely must be run unconfined. Use at your own risk.
Incompatible with
ux
,
px
,
Px
, and
ix
.
Inherit Execute Mode (ix)
ix
prevents the normal AppArmor domain transition on
execve(2)
when the
profiled program executes the named program. Instead, the executed resource in-
herits the current profile.
This mode is useful when a confined program needs to call another confined pro-
gram without gaining the permissions of the target's profile or losing the permissions
of the current profile. There is no version to scrub the environment because
ix
executions do not change privileges.
Incompatible with
Ux
,
ux
,
Px
, and
px
. Implies
m
.
Profile Components and Syntax
19