diff options
Diffstat (limited to 'lib/libc/sys/setuid.2')
-rw-r--r-- | lib/libc/sys/setuid.2 | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/lib/libc/sys/setuid.2 b/lib/libc/sys/setuid.2 new file mode 100644 index 000000000000..eb596cc4918f --- /dev/null +++ b/lib/libc/sys/setuid.2 @@ -0,0 +1,121 @@ +.\" Copyright (c) 1983, 1991 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. 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. +.\" +.\" From: @(#)setuid.3 6.4 (Berkeley) 4/19/91 +.\" $Id: setuid.2,v 1.2 1994/04/21 21:30:20 wollman Exp $ +.\" +.Dd March 16, 1994 +.Dt SETUID 2 +.Os +.Sh NAME +.Nm setuid , +.Nm seteuid , +.\" .Nm setruid , +.Nm setgid , +.Nm setegid , +.\" .Nm setrgid +.Nd set user and group ID +.Sh SYNOPSIS +.Fd #include <sys/types.h> +.Ft int +.Fn setuid "uid_t uid" +.Ft int +.Fn seteuid "uid_t euid" +.\" .Ft int +.\" .Fn setruid "uid_t ruid" +.Ft int +.Fn setgid "gid_t gid" +.Ft int +.Fn setegid "gid_t egid" +.\" .Ft int +.\" .Fn setrgid "gid_t rgid" +.Sh DESCRIPTION +The +.Fn setuid +function +.Pq Fn setgid +sets the real, effective, and saved +user IDs (group IDs) of the current process +as specified. +.Pp +The +.Fn seteuid +function +.Pq Fn setegid +sets the effective user ID (group ID) of the +current process. +.\".Pp +.\" The +.\" .Fn setruid +.\" function +.\" .Pq Fn setrgid +.\" sets the real user ID (group ID) of the +.\" current process. +.Pp +When any of these calls succeed, the +.Dv SUGID +process flag is turned on, and remains on until the process calls +.Xr execve 2 ; +this flag can be inspected with +.Xr ps 1 . +.Sh RETURN VALUES +Upon success, these functions return 0; +otherwise \-1 is returned. +.Pp +If the user is not the super user, and the ID specified is not the +current real ID, the +.Nm setuid +and +.Nm setgid +functions return \-1. +.Pp +If the user is not the super user, and the ID specfied is not the +current real ID, the +.\" nor the saved ID, the +.\" should this really be true that setuid(geteuid()) is not allowed? +.Nm seteuid +and +.Nm setegid +functions return \-1. +.Sh SEE ALSO +.Xr setreuid 2 , +.Xr setregid 2 , +.Xr getuid 2 , +.Xr getgid 2 , +.Xr execve 2 , +.Xr ps 1 +.Sh HISTORY +A +.Fn setuid +and +.Fn setgid +syscall appeared in +.At v6 . |