diff options
Diffstat (limited to 'man2/seteuid.2')
-rw-r--r-- | man2/seteuid.2 | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/man2/seteuid.2 b/man2/seteuid.2 deleted file mode 100644 index c1cae7c..0000000 --- a/man2/seteuid.2 +++ /dev/null @@ -1,134 +0,0 @@ -.\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl) -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.\" [should really be seteuid.3] -.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com> -.\" Added notes on capability requirements -.\" -.TH seteuid 2 2024-02-11 "Linux man-pages 6.7" -.SH NAME -seteuid, setegid \- set effective user or group ID -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include <unistd.h> -.P -.BI "int seteuid(uid_t " euid ); -.BI "int setegid(gid_t " egid ); -.fi -.P -.RS -4 -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.RE -.P -.BR seteuid (), -.BR setegid (): -.nf - _POSIX_C_SOURCE >= 200112L - || /* glibc <= 2.19: */ _BSD_SOURCE -.fi -.SH DESCRIPTION -.BR seteuid () -sets the effective user ID of the calling process. -Unprivileged processes may only set the effective user ID to the -real user ID, the effective user ID or the saved set-user-ID. -.P -Precisely the same holds for -.BR setegid () -with "group" instead of "user". -.\" When -.\" .I euid -.\" equals \-1, nothing is changed. -.\" (This is an artifact of the implementation in glibc of seteuid() -.\" using setresuid(2).) -.SH RETURN VALUE -On success, zero is returned. -On error, \-1 is returned, and -.I errno -is set to indicate the error. -.P -.IR Note : -there are cases where -.BR seteuid () -can fail even when the caller is UID 0; -it is a grave security error to omit checking for a failure return from -.BR seteuid (). -.SH ERRORS -.TP -.B EINVAL -The target user or group ID is not valid in this user namespace. -.TP -.B EPERM -In the case of -.BR seteuid (): -the calling process is not privileged (does not have the -.B CAP_SETUID -capability in its user namespace) and -.I euid -does not match the current real user ID, current effective user ID, -or current saved set-user-ID. -.IP -In the case of -.BR setegid (): -the calling process is not privileged (does not have the -.B CAP_SETGID -capability in its user namespace) and -.I egid -does not match the current real group ID, current effective group ID, -or current saved set-group-ID. -.SH VERSIONS -Setting the effective user (group) ID to the -saved set-user-ID (saved set-group-ID) is -possible since Linux 1.1.37 (1.1.38). -On an arbitrary system one should check -.BR _POSIX_SAVED_IDS . -.P -Under glibc 2.0, -.BI seteuid( euid ) -is equivalent to -.BI setreuid(\-1, " euid" ) -and hence may change the saved set-user-ID. -Under glibc 2.1 and later, it is equivalent to -.BI setresuid(\-1, " euid" ", \-1)" -and hence does not change the saved set-user-ID. -Analogous remarks hold for -.BR setegid (), -with the difference that the change in implementation from -.BI setregid(\-1, " egid" ) -to -.BI setresgid(\-1, " egid" ", \-1)" -occurred in glibc 2.2 or 2.3 (depending on the hardware architecture). -.P -According to POSIX.1, -.BR seteuid () -.RB ( setegid ()) -need not permit -.I euid -.RI ( egid ) -to be the same value as the current effective user (group) ID, -and some implementations do not permit this. -.SS C library/kernel differences -On Linux, -.BR seteuid () -and -.BR setegid () -are implemented as library functions that call, respectively, -.BR setresuid (2) -and -.BR setresgid (2). -.SH STANDARDS -POSIX.1-2008. -.SH HISTORY -POSIX.1-2001, 4.3BSD. -.SH SEE ALSO -.BR geteuid (2), -.BR setresuid (2), -.BR setreuid (2), -.BR setuid (2), -.BR capabilities (7), -.BR credentials (7), -.BR user_namespaces (7) |