Provided by: paxctl_0.7-1_amd64 bug

NAME

       paxctl - user-space utility to control PaX flags

SYNTAX

       paxctl <flags> <files>

DESCRIPTION

       paxctl  is a tool that allows PaX flags to be modified on a per-binary basis.  PaX is part
       of common security-enhancing kernel patches and secure distributions, such  as  GrSecurity
       and Hardened Gentoo, respectively.  Your system needs to be running a properly patched and
       configured kernel for this program to have any effect.

       -P     enforce paging based non-executable pages (PAGEEXEC)

       -p     do not enforce paging based non-executable pages (NOPAGEEXEC)

       -E     emulate trampolines (EMUTRAMP)

       -e     do not emulate trampolines (NOEMUTRAMP)

       -M     enforce secure memory protections (MPROTECT)

       -m     do not enforce secure memory protections (NOMPROTECT)

       -R     randomize memory regions (RANDMMAP)

       -r     do not randomize memory regions (NORANDMMAP)

       -X     randomize base address of normal (ET_EXEC) executables (RANDEXEC)

       -x     do not randomize base address of normal (ET_EXEC) executables (NORANDEXEC)

       -S     enforce segmentation based non-executable pages (SEGMEXEC)

       -s     do not enforce segmentation based non-executable pages (NOSEGMEXEC)

       -v     view flags

       -z     reset all flags (further flags still apply)

       -c     create the PT_PAX_FLAGS program header if it  does  not  exist  by  converting  the
              PT_GNU_STACK program header if it exists

       -C     create the PT_PAX_FLAGS program header if it does not exist by adding a new program
              header, if it is possible

       -q     suppress error messages

       -Q     report flags in short format

CAVEATS

       The old PaX flag location and control method have  been  obsoleted,  if  your  kernel  and
       binaries  use  it  you have to use chpax(1) instead (it is recommended to use PT_PAX_FLAGS
       along with -c or -C however).

       Converting PT_GNU_STACK into PT_PAX_FLAGS means that the  information  in  the  former  is
       destroyed,  in  particular you must make sure that the EMUTRAMP PaX option is properly set
       in the newly created PT_PAX_FLAGS.  The secure way is to disable EMUTRAMP first and if PaX
       reports stack execution attempts from nested function trampolines then enable it.

       Note  that the new PT_PAX_FLAGS is created in the same state that binutils/ld itself would
       produce (equivalent to -zex).

       Note that if you use both PT_PAX_FLAGS and the extended attribute PaX flags  on  a  binary
       then they must be exactly the same (except for RANDEXEC).

       Note  that  RANDEXEC  is no longer supported by PaX kernels since 2.6.13, the paxctl flags
       are simply ignored there.

       Note that paxctl does not make backup copies of the files it modifies.

       Note that paxctl is meant to work on the native architecture's binaries only,  however  it
       should  work  on  foreign  binaries  as long as they have the same endianess as the native
       architecture (e.g., an i386 paxctl should work on amd64 or little-endian arm  but  not  on
       big-endian mips binaries).

AUTHOR

       Written by The PaX Team <pageexec@freemail.hu>

       This   manpage   was   adapted  from  the  chpax  manpage  written  by  Martin  F.  Krafft
       <madduck@debian.org> for the Debian GNU/Linux Distribution, but may be used by others.

SEE ALSO

       chpax(1), gradm(8)

       PaX website: http://pax.grsecurity.net

       GrSecurity website: http://www.grsecurity.net

       Hardened Gentoo website: http://www.gentoo.org/proj/en/hardened