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

FreeBSD Manual Pages

  
 
  

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

NAME
     setreuid -- set real and effective	user IDs

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.	The saved user ID will be set to the new value of the
     real user ID if a real user ID is specified and either the	new real user
     ID	value is different from	the current value or the new value of the ef-
     fective user ID differs from the current saved user ID.

     Unprivileged users	may change either user ID to the current value of the
     real, effective, or saved user ID.	 Only the superuser may	make other
     changes.

     Supplying a value of -1 for either	the real or effective user ID forces
     the system	to substitute the current ID in	place of the -1	parameter.

     The setreuid() function was intended to allow swapping the	real and ef-
     fective 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)	function.

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

RETURN VALUES
     Upon successful completion, the value 0 is	returned; 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 superuser and a change
			other than changing the	effective user ID to the real
			user ID	was specified.

SEE ALSO
     getuid(2),	seteuid(2), setregid(2), setresuid(2), setuid(2)

STANDARDS
     The setreuid() function conforms to the IEEE Std 1003.1-2008 ("POSIX.1")
     specification, except that	the conditions for changing the	saved user ID
     differ and	that, if it is changed,	the saved user ID is set to the	real
     user ID instead of	the effective user ID.

HISTORY
     The setreuid() system call	first appeared in 4.1cBSD, predating POSIX.  A
     semantically different version appeared in	4.4BSD.	 The current version,
     with the original semantics restored, appeared in OpenBSD 3.3.

FreeBSD	13.0		       February	5, 2015			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=setreuid&sektion=2&manpath=OpenBSD+6.9>

home | help