SETREUID(2)                      System Calls                      SETREUID(2)




NAME

       setreuid - set real and effective user ID


SYNOPSIS

       #include <unistd.h>

       int setreuid (uid_t ruid, uid_t euid);


DESCRIPTION

       The  real and effective user IDs of the current process are set accord-
       ing to the arguments.  If ruid or euid is -1, the current uid is filled
       in  by  the  system.  Unprivileged users may change the real user ID to
       the effective user ID and vice-versa;  only  the  super-user  may  make
       other changes.

       The setreuid function has been used to swap the real and effective user
       IDs in set-user-ID programs to temporarily relinquish  the  set-user-ID
       value.   This  purpose  is  now better served by the use of the seteuid
       function (see setuid(2)).

       When setting the real and effective user IDs to  the  same  value,  the
       standard setuid function is preferred.


RETURN VALUES

       Upon  successful  completion,  a  value of 0 is returned.  Otherwise, a
       value of -1 is returned and errno is set to indicate the error.


ERRORS

              EPERM  The current process is not the super-user  and  a  change
                     other  than  changing  the  effective user-id to the real
                     user-id was specified.


SEE ALSO

       getuid(2), seteuid(2), setuid(2)


HISTORY

       The setreuid system call appeared in 4.2BSD.



GNO                             16 January 1996                    SETREUID(2)

Man(1) output converted with man2html