Man Linux: Main Page and Category List

NAME

       really - gain privilege or run commands a different user

SYNOPSIS

       really [options] [command args... ]

DESCRIPTION

       really  checks  whether  the caller is allowed, and if it is it changes
       its uids and gids according to the command line  options  and  executes
       the specified command.

       If no options are specified, the uid will be set to 0 and the gids will
       be left unchanged.

       If no command is specified, really will run $SHELL -i.

       A caller is allowed if it has write access to  /etc/inittab.   This  is
       most  easily achieved by creating or using a suitable group, containing
       all the appropriate users, and making /etc/inittab group-owned by  that
       group and group-writeable.

OPTIONS

       -u username | --user username
              Sets  the  uid,  gid, and supplementary group list, according to
              username’s entry in the password and group databases.

       -i username | --useronly username
              Sets only the uid according to username’s entry in the  password
              database.

       -I uid | --uidonly uid
              Sets the uid to the numeric value uid (which need not correspond
              to any existing user in the password database).

       -g groupname | --group groupname
              groupname is looked up in the group  database  and  its  gid  is
              appended to the process’s supplementary groups list.  If this is
              the first gid specified it will also be set as the primary  gid.

       -G gid | --gid gid
              gid  is  appended  to  the  process’s supplementary groups list.
              (gid need not correspond to any  existing  group  in  the  group
              database.)   If  this is the first gid specified it will also be
              set as the primary gid.

       -z | --groupsclear
              Clears the process’s supplementary groups list.  When using this
              option  you  must  also  specify -g or -G.  The process’s groups
              will then be exactly those specified.  The relative position  of
              -z in the argument list is not relevant.

       --     Indicates  the  end  of  the  options.   The  next  argument (if
              present) will be interpreted as the command  name,  even  if  it
              starts with a hyphen.

SECURITY CONSIDERATIONS

       really  is  designed  so  that  installing  it setuid root is extremely
       unlikely to compromise the security of any system.  It will check using
       access(2) whether the real user is allowed to write to /etc/inittab and
       if this check fails really will exit without even attempting  to  parse
       its command line.

       really  is  not  designed  to  be  resistant  to malicious command line
       arguments.  Do not allow untrusted processes to pass options to really,
       or  to  specify  the  command  to  be run.  Whether it is safe to allow
       relatively untrusted processes to pass options to the command which  is
       to  be  run  depends  on the behaviour of that command and its security
       status.

       Attempting to use really to drop  privilege  is  dangerous  unless  the
       calling  environment is very well understood.  There are many inherited
       process properties and resources which might be used by the  callee  to
       escalate  its  privilege  to that of the (root-equivalent) caller.  For
       this function, it is usually better to use userv if possible.

ENVIRONMENT

       really does not manipulate the environment at all.  The calling program
       is  run in exactly the same environment as the caller passes to really.
       In particular, really will not add sbin directories to PATH so  really-
       enabled  accounts  will usually need to have these directories on their
       configured PATH to start with.

       SHELL is used to find the default shell to use in interactive mode (ie,
       when no command is specified).

AUTHOR

       This    version    of    really    was    written    by   Ian   Jackson
       <ian@chiark.greenend.org.uk>.

       It  and  this  manpage  are  Copyright  (C)  1992-5,2003  Ian   Jackson
       <ian@chiark.greenend.org.uk>.

       really is free software; you can redistribute it and/or modify it under
       the terms of the GNU General Public License as published  by  the  Free
       Software  Foundation;  either  version 3, or (at your option) any later
       version.

       really is distributed in the hope that it will be useful,  but  WITHOUT
       ANY  WARRANTY;  without even the implied warranty of MERCHANTABILITY or
       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General  Public  License
       for more details.

       You should have received a copy of the GNU General Public License along
       with this file; if not, consult the Free Software Foundation’s  website
       at www.fsf.org, or the GNU Project website at www.gnu.org.

AVAILABILITY

       really  is currently part of chiark-utils and is available for download
       from ftp.chiark.greenend.org.uk in /users/ian/chiark-utils/, in  source
       and pre-compiled binary form, and also from Ian Jackson’s cvsweb.

SEE ALSO

       userv(1), access(2), setresuid(2), setresgid(2), setgroups(2)