setresuid.2 revision 82642
Copyright (c) 2000
Sheldon Hearn. 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.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES

$FreeBSD: head/lib/libc/sys/setresuid.2 82642 2001-08-31 09:57:38Z ru $

.Dd April 13, 2001 .Dt SETRESUID 2 .Os .Sh NAME .Nm getresgid , .Nm getresuid , .Nm setresgid , .Nm setresuid .Nd "get or set real, effective and saved user or group ID" .Sh LIBRARY .Lb libc .Sh SYNOPSIS .Fd #include <sys/types.h> .Fd #include <unistd.h> .Ft int .Fn getresgid "gid_t *rgid" "gid_t *egid" "gid_t *sgid" .Ft int .Fn getresuid "uit_t *ruid" "uid_t *euid" "uid_t *suid" .Ft int .Fn setresgid "gid_t rgid" "gid_t egid" "gid_t sgid" .Ft int .Fn setresuid "uid_t ruid" "uid_t euid" "uid_t suid" .Sh DESCRIPTION The .Fn setresuid system call sets the real, effective and saved user IDs of the current process. The analogous .Fn setresgid sets the real, effective and saved group IDs.

p Privileged processes may set these IDs to arbitrary values. Unprivileged processes are restricted in that each of the new IDs must match one of the current IDs.

p Passing -1 as an argument causes the corresponding value to remain unchanged.

p The .Fn getresgid and .Fn getresuid calls retrieve the real, effective, and saved group and user IDs of the current process, respectively. .Sh RETURN VALUES .Rv -std .Sh ERRORS l -tag -width Er t Bq Er EPERM The calling process was not privileged and tried to change one or more IDs to a value which was not the current real ID, the current effective ID nor the current saved ID. t Bq Er EFAULT An address passed to .Fn getresgid or .Fn getresuid was invalid. .El .Sh SEE ALSO .Xr getegid 2 , .Xr geteuid 2 , .Xr getgid 2 , .Xr getuid 2 , .Xr issetugid 2 , .Xr setgid 2 , .Xr setregid 2 , .Xr setreuid 2 , .Xr setuid 2 .Sh STANDARDS These system calls are not available on many platforms. They exist in .Fx to support Linux binaries linked against GNU libc2. .Sh HISTORY These system calls first appeared in HP-UX.