Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Apropos / Subsearch:
optional field

SETREGID(2)                   System Calls Manual                  SETREGID(2)

       setregid - set real and effective group IDs

       int setregid(rgid, egid)
       int rgid, egid;

       setregid() is used to set the real and effective group IDs of the call-
       ing process.  If rgid is -1, the real GID is not changed;  if  egid  is
       -1,  the effective GID is not changed.  The real and effective GIDs may
       be set to different values in the same call.

       If the effective user ID of the calling process is super-user, the real
       GID and the effective GID can be set to any legal value.

       If  the  effective  user  ID  of the calling process is not super-user,
       either the real GID can be set to the saved setGID from execve(2V),  or
       the  effective  GID  can  either be set to the saved setGID or the real
       GID.  Note: if a setGID process sets its effective GID to its real GID,
       it can still set its effective GID back to the saved setGID.

       In  either  case, if the real GID is being changed (that is, if rgid is
       not -1), or the effective GID is being changed to a value not equal  to
       the real GID, the saved setGID is set equal to the new effective GID.

       setregid() returns:

       0      on success.

       -1     on failure and sets errno to indicate the error.

       setregid() will fail and neither of the group IDs will be changed if:

       EINVAL         The value of rgid or egid is less than 0 or greater than
                      USHRT_MAX (defined in <&lt;sys/limits.h>&gt;).

       EPERM          The calling process' effective UID is not the super-user
                      and  a  change  other  than changing the real GID to the
                      saved setGID, or changing the effective GID to the  real
                      GID or the saved GID, was specified.

       execve(2V), getgid(2V), setreuid(2), setuid(3V)

                                21 January 1990                    SETREGID(2)