diff options
Diffstat (limited to 'man2/setgid.2')
-rw-r--r-- | man2/setgid.2 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/man2/setgid.2 b/man2/setgid.2 new file mode 100644 index 000000000..a2cdcad8f --- /dev/null +++ b/man2/setgid.2 @@ -0,0 +1,64 @@ +.\" Copyright (C), 1994, Graeme W. Wilford. (Wilf.) +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" Fri Jul 29th 12:56:44 BST 1994 Wilf. <G.Wilford@ee.surrey.ac.uk> +.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com> +.\" Modified 2002-03-09 by aeb +.\" +.TH SETGID 2 2002-03-09 "Linux 2.5" "Linux Programmer's Manual" +.SH NAME +setgid \- set group identity +.SH SYNOPSIS +.B #include <sys/types.h> +.br +.B #include <unistd.h> +.sp +.BI "int setgid(gid_t " gid ); +.SH DESCRIPTION +.B setgid +sets the effective group ID of the current process. If the caller is the +superuser, the real and saved group ID's are also set. + +Under Linux, +.B setgid +is implemented like the POSIX version with the _POSIX_SAVED_IDS feature. +This allows a setgid program that is not suid root to drop all of its group +privileges, do some un-privileged work, and then re-engage the original +effective group ID in a secure manner. +.SH "RETURN VALUE" +On success, zero is returned. On error, \-1 is returned, and +.I errno +is set appropriately. +.SH ERRORS +.TP +.B EPERM +The user is not the super-user (does not have the CAP_SETGID capability), and +.I gid +does not match the effective group ID or saved set-group-ID of +the calling process. +.SH "CONFORMING TO" +SVr4, SVID. +.SH "SEE ALSO" +.BR getgid (2), +.BR setegid (2), +.BR setregid (2), +.BR capabilities (7) |