setgid

Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services

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(2), setregid(2), setegid(2)
Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services
Copyright (C) 1998 Hurricane Electric. All Rights Reserved.