Provided by: util-linux_2.27.1-6ubuntu3.10_amd64 bug

NAME

       runuser - run a command with substitute user and group ID

SYNOPSIS

       runuser [options] -u user command [argument...]

       runuser [options] [-] [user [argument...]]

DESCRIPTION

       runuser  allows  to run commands with a substitute user and group ID.  If the option -u is
       not given, it falls back  to  su-compatible  semantics  and  a  shell  is  executed.   The
       difference between the commands runuser and su is that runuser does not ask for a password
       (because it may be  executed  by  the  root  user  only)  and  it  uses  a  different  PAM
       configuration.  The command runuser does not have to be installed with suid permissions.

       When called without arguments, runuser defaults to running an interactive shell as root.

       For  backward  compatibility,  runuser defaults to not change the current directory and to
       only set the environment variables HOME and SHELL (plus USER and  LOGNAME  if  the  target
       user is not root).  This version of runuser uses PAM for session management.

OPTIONS

       -c, --command=command
              Pass command to the shell with the -c option.

       -f, --fast
              Pass -f to the shell, which may or may not be useful depending on the shell.

       -g, --group=group
              The primary group to be used.  This option is allowed for the root user only.

       -G, --supp-group=group
              A supplemental group to be used.  This option is allowed for the root user only.

       -, -l, --login
              Start the shell as a login shell with an environment similar to a real login:

                 o      clears all the environment variables except for TERM

                 o      initializes the environment variables HOME, SHELL, USER, LOGNAME, PATH

                 o      changes to the target user's home directory

                 o      sets argv[0] of the shell to '-' in order to make the shell a login shell

       -m, -p, --preserve-environment
              Preserve  the  entire  environment,  i.e.  it  does  not  set HOME, SHELL, USER nor
              LOGNAME.  The option is ignored if the option --login is specified.

       -s, --shell=shell
              Run the specified shell instead of the default.   The  shell  to  run  is  selected
              according to the following rules, in order:

                 o      the shell specified with --shell

                 o      the   shell   specified   in   the  environment  variable  SHELL  if  the
                        --preserve-environment option is used

                 o      the shell listed in the passwd entry of the target user

                 o      /bin/sh

              If the target user has a restricted shell (i.e.  not  listed  in  /etc/shells)  the
              --shell  option  and the SHELL environment variables are ignored unless the calling
              user is root.

       --session-command=command
              Same as -c , but do not create a new session.  (Discouraged.)

       -V, --version
              Display version information and exit.

       -h, --help
              Display help text and exit.

CONFIG FILES

       runuser reads the  /etc/default/runuser  and  /etc/login.defs  configuration  files.   The
       following configuration items are relevant for runuser:

       ENV_PATH (string)
           Defines  the  PATH  environment  variable  for  a  regular user.  The default value is
           /usr/local/bin:/bin:/usr/bin.

       ENV_ROOTPATH (string)
       ENV_SUPATH (string)
           Defines the PATH environment variable for root. The default value is  /usr/local/sbin:
           /usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

       ALWAYS_SET_PATH (boolean)
           If  set  to  yes  and  --login  and  --preserve-environment were not specified runuser
           initializes PATH.

EXIT STATUS

       runuser normally returns the exit status of the command it executed.  If the  command  was
       killed by a signal, runuser returns the number of the signal plus 128.

       Exit status generated by runuser itself:

                 1      Generic error before executing the requested command

                 126    The requested command could not be executed

                 127    The requested command was not found

FILES

       /etc/pam.d/runuser
                        default PAM configuration file
       /etc/pam.d/runuser-l
                        PAM configuration file if --login is specified
       /etc/default/runuser
                        runuser specific logindef config file
       /etc/login.defs  global logindef config file

SEE ALSO

       pam(8), shells(5), login.defs(5), su(1)

HISTORY

       This  runuser command was derived from coreutils' su, which was based on an implementation
       by David MacKenzie, and the Fedora runuser command by Dan Walsh.

AVAILABILITY

       The runuser command is part of the util-linux package and is available from  Linux  Kernel
       Archive ⟨ftp://ftp.kernel.org/pub/linux/utils/util-linux/⟩.