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

       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) system call.

       When setting the	real and effective user	IDs to	the  same  value,  the
       standard	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	 indi-
       cate 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	13.2		       February	8, 2001			   SETREUID(2)

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

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

home | help