SETGID(2)           Linux Programmer's Manual           SETGID(2)
NAME
       setgid - set group identity
SYNOPSIS
       #include <unistd.h>
       int setgid(gid_t gid)
DESCRIPTION
       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,   setgid  is  implemented  like  SYSV  with
       SAVED_IDS.  This allows a setgid (other than root) program
       to  drop  all  of it's group privileges, do some un-privi-
       leged work, and  then  re-engage  the  original  effective
       group ID in a secure manner.
       If the user is root or the program is setgid root, special
       care must be taken. The setgid function checks the  effec-
       tive  gid  of  the  caller and if it is the superuser, all
       process related group ID's are set to gid.  After this has
       occurred,  it is impossible for the program to regain root
       privileges.
RETURN VALUE
       On success, zero is returned.  On error, -1  is  returned,
       and errno is set appropriately.
ERRORS
       EPERM   The  user  is not the super-user, and gid does not
               match the effective or saved group ID of the call-
               ing process.
CONFORMING TO
       System V
SEE ALSO
getgid, 
setregid, 
setegid, 
Linux 1.1.36               29 July 1994                         1
This manual page was brought to you by mjl_man V-2.0