xref: /csrg-svn/lib/libc/compat-43/setreuid.2 (revision 60986)
1*60986Sbostic.\" Copyright (c) 1980, 1991, 1993
2*60986Sbostic.\"	The Regents of the University of California.  All rights reserved.
320129Smckusick.\"
443568Strent.\" %sccs.include.redist.man%
520129Smckusick.\"
6*60986Sbostic.\"     @(#)setreuid.2	8.1 (Berkeley) 06/02/93
738053Sbostic.\"
847208Scael.Dd
947208Scael.Dt SETREUID 2
1047208Scael.Os BSD 4
1147208Scael.Sh NAME
1247208Scael.Nm setreuid
1347208Scael.Nd set real and effective user ID's
1447208Scael.Sh SYNOPSIS
1547208Scael.Fd #include <unistd.h>
1647208Scael.Ft int
1747208Scael.Fn setreuid "int ruid" "int euid"
1847208Scael.Sh DESCRIPTION
1958271SmckusickThe real and effective user IDs of the
2058271Smckusickcurrent process are set according to the arguments.
2120130SmckusickIf
2258271Smckusick.Fa ruid
2358271Smckusickor
2447208Scael.Fa euid
2547208Scaelis -1, the current uid is filled in by the system.
2658271SmckusickUnprivileged users may change the real user
2758271SmckusickID to the effective user ID and vice-versa; only the super-user may
2858271Smckusickmake other changes.
2958271Smckusick.Pp
3058271SmckusickThe
3158446Sbostic.Fn setreuid
3258446Sbosticfunction has been used to swap the real and effective user IDs
3358271Smckusickin set-user-ID programs to temporarily relinquish the set-user-ID value.
3458271SmckusickThis purpose is now better served by the use of the
3558271Smckusick.Fn seteuid
3658271Smckusickfunction (see
3758271Smckusick.Xr setuid 2 ) .
3858271Smckusick.Pp
3958271SmckusickWhen setting the real and effective user IDs to the same value,
4058271Smckusickthe standard
4158271Smckusick.Fn setuid
4258271Smckusickfunction is preferred.
4347208Scael.Sh RETURN VALUES
4420130SmckusickUpon successful completion, a value of 0 is returned.  Otherwise,
4547208Scaela value of -1 is returned and
4647208Scael.Va errno
4747208Scaelis set to indicate the error.
4847208Scael.Sh ERRORS
4947208Scael.Bl -tag -width [EPERM]
5047208Scael.It Bq Er EPERM
5120130SmckusickThe current process is not the super-user and a change
5220130Smckusickother than changing the effective user-id to the real user-id
5358271Smckusickwas specified.
5447208Scael.El
5547208Scael.Sh SEE ALSO
5647208Scael.Xr getuid 2 ,
5754847Smckusick.Xr seteuid 2 ,
5854847Smckusick.Xr setuid 2
5947208Scael.Sh HISTORY
6047208ScaelThe
6147208Scael.Nm
6247208Scaelfunction call appeared in
6354847Smckusick.Bx 4.2
6454847Smckusickand was dropped in
6554847Smckusick.Bx 4.4 .
66