Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SETREUID(2)		       System Calls Manual		     SETREUID(2)

NAME
     setreuid -- set real and effective user ID's

LIBRARY
     Standard C Library (libc, -lc)

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 according 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.

     If  the real user ID is changed (i.e. ruid is not -1) or the effective user
     ID is changed to something other than the real user ID, then the saved user
     ID will be set to the effective user ID.

     The setreuid() system call 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(2) sys-
     tem call.

     When setting the real and effective user IDs to the same value,  the  stan-
     dard setuid() system call is preferred.

RETURN VALUES
     The  setreuid()  function	returns the value 0 if successful; otherwise the
     value -1 is returned and the global variable 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), issetugid(2), seteuid(2), setuid(2)

HISTORY
     The setreuid() system call appeared in 4.2BSD.

FreeBSD ports 15.quarterly	February 8, 2001		     SETREUID(2)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=setreuid&sektion=2&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help