unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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

setregid(2)                      System Calls                      setregid(2)



NAME
       setregid - set real and effective group IDs

SYNOPSIS
       #include <unistd.h>

       int setregid(gid_t rgid, gid_t egid);

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

       If  the {PRIV_PROC_SETID} privilege is asserted in the effective set of
       the calling process, the real group ID and the effective group  ID  can
       be set to any legal value.

       If the {PRIV_PROC_SETID} privilege is not asserted in the effective set
       of the calling process, either the real group ID  can  be  set  to  the
       saved set-group-ID from execve(2), or the effective group ID can either
       be set to the saved set-group-ID or the real group ID.

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

RETURN VALUES
       Upon  successful  completion, 0 is returned. Otherwise, -1 is returned,
       errno is set to indicate the error, and neither of the group  IDs  will
       be changed.

ERRORS
       The setregid() function will fail if:

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



       EPERM           The {PRIV_PROC_SETID} privilege is not asserted in  the
                       effective set of the calling processes and a change was
                       specified other than changing the real group ID to  the
                       saved  set-group-ID  or changing the effective group ID
                       to the real group ID or the saved group ID.



USAGE
       If a set-group-ID process sets its effective group ID to its real group
       ID,  it  can  still  set  its effective group ID back to the saved set-
       group-ID.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityStan-
       dard


SEE ALSO
       execve(2), getgid(2),  setreuid(2),  setuid(2),  attributes(5),  privi-
       leges(5), standards(5)



SunOS 5.10                        22 Mar 2004                      setregid(2)