diff options
Diffstat (limited to 'static/openbsd/man2/setuid.2')
| -rw-r--r-- | static/openbsd/man2/setuid.2 | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/static/openbsd/man2/setuid.2 b/static/openbsd/man2/setuid.2 new file mode 100644 index 00000000..2e5e41e5 --- /dev/null +++ b/static/openbsd/man2/setuid.2 @@ -0,0 +1,152 @@ +.\" $OpenBSD: setuid.2,v 1.23 2014/09/09 08:16:12 jmc Exp $ +.\" $NetBSD: setuid.2,v 1.3 1995/02/27 12:37:06 cgd Exp $ +.\" +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)setuid.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd $Mdocdate: September 9 2014 $ +.Dt SETUID 2 +.Os +.Sh NAME +.Nm setuid , +.Nm seteuid , +.Nm setgid , +.Nm setegid +.Nd set user and group ID +.Sh SYNOPSIS +.In unistd.h +.Ft int +.Fn setuid "uid_t uid" +.Ft int +.Fn seteuid "uid_t euid" +.Ft int +.Fn setgid "gid_t gid" +.Ft int +.Fn setegid "gid_t egid" +.Sh DESCRIPTION +The +.Fn setuid +function sets the real and effective user IDs and the saved set-user-ID +of the current process to the specified value. +The +.Fn setuid +function is permitted if the effective user ID is that of the superuser, +or if the specified user ID is the same as the effective user ID. +If not, but the specified user ID is the same as the real user ID, +.Fn setuid +will set the effective user ID to the real user ID. +.Pp +The +.Fn setgid +function sets the real and effective group IDs and the saved set-group-ID +of the current process to the specified value. +The +.Fn setgid +function is permitted if the effective user ID is that of the superuser, +or if the specified group ID is the same as the effective group ID. +If not, but the specified group ID is the same as the real group ID, +.Fn setgid +will set the effective group ID to the real group ID. +Supplementary group IDs remain unchanged. +.Pp +The +.Fn seteuid +function +.Pq Fn setegid +sets the effective user ID (group ID) of the current process. +The effective user ID may be set to the value +of the real user ID or the saved set-user-ID (see +.Xr intro 2 +and +.Xr execve 2 ) ; +in this way, the effective user ID of a set-user-ID executable +may be toggled by switching to the real user ID, then re-enabled +by reverting to the set-user-ID value. +Similarly, the effective group ID may be set to the value +of the real group ID or the saved set-group-ID. +.Sh RETURN VALUES +.Rv -std setuid seteuid setgid setegid +.Sh ERRORS +.Fn setuid +and +.Fn seteuid +will succeed unless: +.Bl -tag -width Er +.It Bq Er EPERM +The user is not the superuser and the requested +.Fa uid +or +.Fa euid +is not the process's real, effective, or saved UID. +.El +.Pp +.Fn setgid +and +.Fn setegid +will succeed unless: +.Bl -tag -width Er +.It Bq Er EPERM +The user is not the superuser and the requested +.Fa gid +or +.Fa egid +is not the process's real, effective, or saved GID. +.El +.Sh SEE ALSO +.Xr getgid 2 , +.Xr getuid 2 , +.Xr issetugid 2 , +.Xr setgroups 2 , +.Xr setregid 2 , +.Xr setresgid 2 , +.Xr setresuid 2 , +.Xr setreuid 2 +.Sh STANDARDS +The +.Fn setuid , +.Fn seteuid , +.Fn setgid , +and +.Fn setegid +functions conform to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn setuid +system call first appeared in +.At v1 ; +.Fn setgid +in +.At v4 ; +and +.Fn seteuid +and +.Fn setegid +in +.Bx 4.2 . |
