Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

getresgid(2) [debian man page]

SETRESUID(2)						      BSD System Calls Manual						      SETRESUID(2)

NAME
getresgid, getresuid, setresgid, setresuid -- get or set real, effective and saved user or group ID LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/types.h> #include <unistd.h> int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); int setresgid(gid_t rgid, gid_t egid, gid_t sgid); int setresuid(uid_t ruid, uid_t euid, uid_t suid); DESCRIPTION
The setresuid() system call sets the real, effective and saved user IDs of the current process. The analogous setresgid() sets the real, effective and saved group IDs. 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. Passing -1 as an argument causes the corresponding value to remain unchanged. The getresgid() and getresuid() calls retrieve the real, effective, and saved group and user IDs of the current process, respectively. RETURN VALUES
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS
[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. [EFAULT] An address passed to getresgid() or getresuid() was invalid. SEE ALSO
getegid(2), geteuid(2), getgid(2), getuid(2), issetugid(2), setgid(2), setregid(2), setreuid(2), setuid(2) STANDARDS
These system calls are not available on many platforms. They exist in FreeBSD to support Linux binaries linked against GNU libc2. HISTORY
These functions first appeared in HP-UX. BSD
April 13, 2001 BSD

Check Out this Related Man Page

GETRESUID(2)                                                 Linux Programmer's Manual                                                GETRESUID(2)

NAME
getresuid, getresgid - get real, effective and saved user/group IDs SYNOPSIS
#define _GNU_SOURCE /* See feature_test_macros(7) */ #include <unistd.h> int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); DESCRIPTION
getresuid() returns the real UID, the effective UID, and the saved set-user-ID of the calling process, in the arguments ruid, euid, and suid, respectively. getresgid() performs the analogous task for the process's group IDs. RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately. ERRORS
EFAULT One of the arguments specified an address outside the calling program's address space. VERSIONS
These system calls appeared on Linux starting with kernel 2.1.44. The prototypes are given by glibc since version 2.3.2, provided _GNU_SOURCE is defined. CONFORMING TO
These calls are nonstandard; they also appear on HP-UX and some of the BSDs. NOTES
The original Linux getresuid() and getresgid() system calls supported only 16-bit user and group IDs. Subsequently, Linux 2.4 added getre- suid32() and getresgid32(), supporting 32-bit IDs. The glibc getresuid() and getresgid() wrapper functions transparently deal with the variations across kernel versions. SEE ALSO
getuid(2), setresuid(2), setreuid(2), setuid(2), credentials(7) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 GETRESUID(2)
Man Page