SETREGID(2)                      System Calls                      SETREGID(2)




NAME

       setregid - set real and effective group ID


SYNOPSIS

       #include <unistd.h>

       int setregid (gid_t rgid, gid_t egid);


DESCRIPTION

       The real and effective group ID's of the current process are set to the
       arguments.  Unprivileged users may change the real group ID to the  ef‐
       fective  group  ID  and  vice-versa; only the super-user may make other
       changes.

       Supplying a value of -1 for either  the  real  or  effective  group  ID
       forces  the  system to substitute the current ID in place of the -1 pa‐
       rameter.

       The setregid function was intended to allow swapping the real  and  ef‐
       fective  group  IDs  in set-group-ID programs to temporarily relinquish
       the set-group-ID value.  This function did not work correctly, and  its
       purpose  is  now  better served by the use of the setegid function (see
       setuid(2)).

       When setting the real and effective group IDs to the  same  value,  the
       standard setgid function is preferred.


RETURN VALUES

       Upon  successful  completion,  a  value of 0 is returned.  Otherwise, a
       value of -1 is returned and errno is set to indicate the error.


ERRORS

              EPERM  The current process is not the super-user  and  a  change
                     other  than  changing  the effective group-id to the real
                     group-id was specified.


SEE ALSO

       getgid(2), setegid(2), setgid(2), setuid(2)


HISTORY

       The setregid system call appeared in 4.2BSD.



GNO                             16 January 1997                    SETREGID(2)

Man(1) output converted with man2html