logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

getexeccon, setexeccon - get or set the SELinux security context used for executing a new process

Description

getexeccon()  retrieves  the  context  used for executing a new process.  This returned context should be
       freed with freecon(3) if non-NULL.  getexeccon() sets *context to  NULL  if  no  exec  context  has  been
       explicitly set by the program (i.e., using the default policy behavior).

       setexeccon()  sets  the  context used for the next execve(2) call.  NULL can be passed to setexeccon() to
       reset to the default policy behavior.  The exec context is automatically reset after the next  execve(2),
       so a program doesn't need to explicitly sanitize it upon startup.

       setexeccon()  can  be  applied  prior  to  library  functions that internally perform an execve(2), e.g.,
       execl*(3), execv*(3), popen(3), in order to set an exec context for that operation.

       getexeccon_raw() and setexeccon_raw() behave identically to their non-raw counterparts but do not perform
       context translation.

       Note: Signal handlers that perform an execve(2) must take care to  save,  reset,  and  restore  the  exec
       context to avoid unexpected behavior.

       setexecfilecon() sets the context used for the next execve(2) call, based on the policy for the filename,
       and falling back to a new context with a fallback_type in case there is no transition.

       rpm_execcon()  is  deprecated; please use setexecfilecon() in conjunction with execve(2) in all new code.
       This function runs a helper for rpm in an appropriate security context.  The  verified  parameter  should
       contain  the  return  code from the signature verification (0 == ok, 1 == notfound, 2 == verifyfail, 3 ==
       nottrusted, 4 == nokey), although this information is  not  yet  used  by  the  function.   The  function
       determines the proper security context for the helper based on policy, sets the exec context accordingly,
       and then executes the specified filename with the provided argument and environment arrays.

Name

       getexeccon, setexeccon - get or set the SELinux security context used for executing a new process

       rpm_execcon - run a helper for rpm in an appropriate security context

Return Value

       On failure, -1 is returned and errno is  set appropriately.

       On  success  getexeccon(),  setexeccon()  and setexecfilecon() return 0.  rpm_execcon() only returns upon
       errors, as it calls execve(2).

See Also

selinux(8), freecon(3), getcon(3)

russell@coker.com.au                             1 January 2004                                    getexeccon(3)

Synopsis

#include<selinux/selinux.h>intgetexeccon(char**context);intgetexeccon_raw(char**context);intsetexeccon(constchar*context);intsetexeccon_raw(constchar*context);intsetexecfilecon(constchar*filename,constchar*fallback_type);intrpm_execcon(unsignedintverified,constchar*filename,char*constargv[],char*constenvp[]);

See Also