diff options
Diffstat (limited to 'static/netbsd/man9/do_setresuid.9')
| -rw-r--r-- | static/netbsd/man9/do_setresuid.9 | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/static/netbsd/man9/do_setresuid.9 b/static/netbsd/man9/do_setresuid.9 new file mode 100644 index 00000000..4f3be0e7 --- /dev/null +++ b/static/netbsd/man9/do_setresuid.9 @@ -0,0 +1,92 @@ +.\" $NetBSD: do_setresuid.9,v 1.7 2017/10/17 21:11:36 pgoyette Exp $ +.\" +.\"- +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by David Laight. +.\" +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +.\" +.Dd September 28, 2003 +.Dt DO_SETRESUID 9 +.Os +.Sh NAME +.Nm do_setresuid , +.Nm do_setresgid +.Nd set process uid and gid +.Sh SYNOPSIS +.In sys/ucred.h +.Ft int +.Fn do_setresuid "struct lwp *lwp" "uid_t ruid" "uid_t euid" "uid_t svuid" "u_int flags" +.Ft int +.Fn do_setresgid "struct lwp *lwp" "uid_t ruid" "uid_t euid" "uid_t svuid" "u_int flags" +.Sh DESCRIPTION +The +.Nm do_setresuid +and +.Nm do_setresgid +functions are used to implement the various system calls that allow a +process to change its real, effective, and saved uid and gid values. +.Pp +The +.Nm do_setresuid +function sets the specified process's real user ID to +.Ar ruid , +its effective user ID to +.Ar euid , +and its saved user ID to +.Ar svuid . +If any of the uid arguments are \-1 then that assignment is skipped. +.Pp +If +.Fn suser +is true, then any values may be assigned, otherwise the new uid +values must match one of the existing values and the caller must have +set the relevant bit in +.Ar flags . +.Pp +The +.Ar flags +argument specifies which of the existing uid values the new value must match. +It should be set to a logical OR of ID_{R,E,S}_EQ_{R,E,S}, where ID_E_EQ_R +means that it is valid to set the effective ID to the current value of the +real ID. +.Pp +The +.Nm do_setresgid +function sets the group IDs but otherwise behaves in the same manner as +.Nm . +The processes group list is neither examined nor effected. +.Sh CODE REFERENCES +These functions are implemented in: +.Pa sys/kern/kern_prot.c . +.Sh SEE ALSO +.Xr setregid 2 , +.Xr setreuid 2 , +.Xr setuid 2 +.Sh HISTORY +Implemented for +.Nx 2.0 +to replace ad-hoc code in each system call routine and in the +various compat modules. |
