summaryrefslogtreecommitdiffstats
path: root/man2/setgid.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/setgid.2')
-rw-r--r--man2/setgid.264
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)