diff --git a/parser/apparmor.d.pod b/parser/apparmor.d.pod index 96d8ec4e8..fff471b8c 100644 --- a/parser/apparmor.d.pod +++ b/parser/apparmor.d.pod @@ -277,7 +277,9 @@ B = ('a', 'b', 'c', ... 'z', 'A', 'B', ... 'Z') B = ('0', '1', '2', ... '9', 'a', 'b', 'c', ... 'z', 'A', 'B', ... 'Z') -B = 'change_profile' [ I ] [ '-E' I ] +B = 'change_profile' [ [ I ] I ] [ '-E' I ] + +B = ( 'safe' | 'unsafe' ) B = I @@ -1208,6 +1210,20 @@ rule set. Eg. /bin/bash Px -> new_profile1, change_profile /bin/bash -> {new_profile1,new_profile2,new_profile3}, +The exec mode dictates whether or not the Linux Kernel's B +routines should be used to scrub the environment, similar to setuid programs. +(See ld.so(8) for some information on setuid/setgid environment scrubbing.) The +B mode sets up environment scrubbing to occur when the new application is +executed and B mode disables AppArmor's requirement for environment +scrubbing (the kernel and/or libc may still require environment scrubbing). An +exec mode can only be specified when an exec condition is present. + + change_profile safe /bin/bash -> new_profile, + +Not all kernels support B mode and the parser will downgrade rules to +B mode in that situation. If no exec mode is specified, the default is +B mode in kernels that support it. + =head2 rlimit rules AppArmor can set and control the resource limits associated with a