Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

setresuid(2) [freebsd 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) HISTORY
These functions first appeared in HP-UX. BSD
February 7, 2015 BSD

Check Out this Related Man Page

setresuid(2)							System Calls Manual						      setresuid(2)

NAME
setresuid, setresgid - set real, effective, and saved user and group IDs SYNOPSIS
DESCRIPTION
sets the real, effective and/or saved user ID of the calling process. If the current real, effective or saved user ID is equal to that of a user having appropriate privileges, sets the real, effective and saved user IDs to ruid, euid, and suid, respectively. Otherwise, only sets the real, effective, and saved user IDs if ruid, euid, and suid each match at least one of the current real, effective, or saved user IDs. If ruid, euid, or suid is leaves the current real, effective or saved user ID unchanged. sets the real, effective and/or saved group ID of the calling process. If the current real, effective or saved user ID is equal to that of a user having appropriate privileges, sets the real, effective, and saved group ID to rgid, egid, and sgid, respectively. Otherwise, only sets the real, effective and saved group ID if rgid, egid, and sgid each match at least one of the current real, effective or saved group ID. If rgid, egid, or sgid is leaves the current real, effective or saved group ID unchanged. Security Restrictions Some or all of the actions associated with this system call require the privilege (CHSUBJIDENT). Processes owned by the superuser will have this privilege. Processes owned by other users may have this privilege, depending on system configuration. See privileges(5) for more information about privileged access on systems that support fine-grained privileges. RETURN VALUE
Upon successful completion, and return 0; otherwise, they return -1 and set to indicate the error. ERRORS
and fail if any of the following conditions are encountered: ruid, euid, or suid (rgid, egid, or sgid) is not a valid user (group) ID. None of the conditions above are met. AUTHOR
and were developed by HP. SEE ALSO
exec(2), getuid(2), setuid(2), privileges(5). setresuid(2)
Man Page