dwww Home | Manual pages | Find package

proc_pid_attr(5)              File Formats Manual             proc_pid_attr(5)

NAME
       /proc/pid/attr/ - security-related attributes

DESCRIPTION
       /proc/pid/attr/
              The files in this directory provide an API for security modules.
              The  contents  of  this directory are files that can be read and
              written in order to set security-related attributes.   This  di-
              rectory was added to support SELinux, but the intention was that
              the  API  be  general  enough to support other security modules.
              For the purpose of explanation, examples  of  how  SELinux  uses
              these files are provided below.

              This directory is present only if the kernel was configured with
              CONFIG_SECURITY.

       /proc/pid/attr/current (since Linux 2.6.0)
              The contents of this file represent the current security attrib-
              utes of the process.

              In  SELinux,  this file is used to get the security context of a
              process.  Prior to Linux 2.6.11, this file could not be used  to
              set  the  security  context  (a  write was always denied), since
              SELinux limited process security transitions to  execve(2)  (see
              the  description  of  /proc/pid/attr/exec,  below).  Since Linux
              2.6.11, SELinux lifted this  restriction  and  began  supporting
              "set"  operations  via writes to this node if authorized by pol-
              icy, although use of this operation is only suitable for  appli-
              cations  that are trusted to maintain any desired separation be-
              tween the old and new security contexts.

              Prior to Linux 2.6.28, SELinux did not allow  threads  within  a
              multithreaded  process  to  set  their security context via this
              node as it would yield an inconsistency among the security  con-
              texts of the threads sharing the same memory space.  Since Linux
              2.6.28,  SELinux  lifted  this  restriction and began supporting
              "set" operations for threads within a multithreaded  process  if
              the new security context is bounded by the old security context,
              where  the  bounded relation is defined in policy and guarantees
              that the new security context has a subset of the permissions of
              the old security context.

              Other security modules may choose to  support  "set"  operations
              via writes to this node.

       /proc/pid/attr/exec (since Linux 2.6.0)
              This  file  represents  the  attributes to assign to the process
              upon a subsequent execve(2).

              In SELinux, this is needed to support  role/domain  transitions,
              and  execve(2)  is  the preferred point to make such transitions
              because it offers better control over the initialization of  the
              process  in the new security label and the inheritance of state.
              In SELinux, this attribute is reset on execve(2) so that the new
              program reverts to the default behavior for any execve(2)  calls
              that  it  may  make.  In SELinux, a process can set only its own
              /proc/pid/attr/exec attribute.

       /proc/pid/attr/fscreate (since Linux 2.6.0)
              This file represents the attributes to assign to  files  created
              by  subsequent  calls  to  open(2),  mkdir(2),  symlink(2),  and
              mknod(2)

              SELinux employs this file to support creation of a  file  (using
              the  aforementioned  system  calls)  in  a secure state, so that
              there is no risk of inappropriate access being obtained  between
              the  time  of creation and the time that attributes are set.  In
              SELinux, this attribute is reset on execve(2), so that  the  new
              program  reverts  to  the default behavior for any file creation
              calls it may make, but the attribute will persist across  multi-
              ple file creation calls within a program unless it is explicitly
              reset.    In   SELinux,   a   process   can  set  only  its  own
              /proc/pid/attr/fscreate attribute.

       /proc/pid/attr/keycreate (since Linux 2.6.18)
              If a process writes a security context into this file, all  sub-
              sequently  created  keys  (add_key(2)) will be labeled with this
              context.  For further information, see the  kernel  source  file
              Documentation/security/keys/core.rst  (or file Documentation/se-
              curity/keys.txt between Linux 3.0 and Linux 4.13, or  Documenta-
              tion/keys.txt before Linux 3.0).

       /proc/pid/attr/prev (since Linux 2.6.0)
              This  file  contains  the security context of the process before
              the  last  execve(2);   that   is,   the   previous   value   of
              /proc/pid/attr/current.

       /proc/pid/attr/socketcreate (since Linux 2.6.18)
              If  a process writes a security context into this file, all sub-
              sequently created sockets will be labeled with this context.

SEE ALSO
       proc(5)

Linux man-pages 6.7               2023-08-15                  proc_pid_attr(5)

Generated by dwww version 1.16 on Tue Dec 16 17:11:31 CET 2025.