persistent process supervision
runuid(8)                          runtools                          runuid(8)



NAME
       runuid - run a program with specific user and group permissions

SYNOPSIS
       runuid  [-hV] [-g group ] [-s | -S grplist ] account program [ args ...
       ]

DESCRIPTION
       runuid runs program with the uid and gid set according to the user  and
       group ID of account.

       If  program  does not contain a ``/'' slash character, runuid will per-
       form a shell-like search for the executable using the PATH variable  in
       the current environment.

       runuid itself needs root privilege to run.

OPTIONS
       -g group
              Group.   Normally  runuid  sets the base group permission corre-
              sponding to the group ID of the account.  The -g option  may  be
              used to specify a different base group permission.

       -h     Help.  Print a brief usage message to stderr and exit.

       -S grplist
              Supplemental (listed).  Normally runuid sets only a single group
              permission corresponding to the group ID of the account,  or  as
              specified  with  the -g option.  The -S option will additionally
              set supplemental group permissions as given in the grplist argu-
              ment,  a  colon-delimited  list  of  one or more arbitrary group
              names as defined in /etc/group.  The -S option and the -s option
              are mutually exclusive.

       -s     Supplemental  (/etc/group).   Normally runuid sets only a single
              group permission corresponding to the group ID of  the  account,
              or  as  specified  with the -g option.  The -s option will addi-
              tionally set all supplemental group permissions defined for  the
              account  in  /etc/group  as  described in initgroups(3).  The -s
              option and the -S option are mutually exclusive.

       -V     Version.  Print the version number to stderr and exit.

EXIT STATUS
       runuid exits with one of the following values:

       0      program was invoked and completed successfully.  In  this  case,
              the  exit code is returned by the program, rather than by runuid
              itself.

       100    runuid failed because of a usage error, such as an invalid  com-
              mand-line  option  or  argument.   In this case, runuid prints a
              brief error message and usage help to stderr on exit.

       111    runuid failed due to some system or  resource  error.   In  this
              case,  runuid  prints  a  brief  diagnostic message to stderr on
              exit.

       1-127  program was invoked and failed with its own non-zero  exit  sta-
              tus.

AUTHOR
       Wayne Marshall, http://b0llix.net/perp/

SEE ALSO
       runtools_intro(8),  runargs(8), runargv0(8), runchoom(8), rundetach(8),
       rundeux(8),    runenv(8),    runfile(8),    runlimit(8),    runlock(8),
       runpause(8),   runsession(8),  runtool(8),  runtrap(8),  initgroups(3),
       setgroups(2)



runtools-2.07                    January 2013                        runuid(8)