NAME

     setuid, setgid - set user or group ID's


SYNOPSIS

     #include <sys/types.h>

     int setuid(uid_t uid)
     int setgid(gid_t gid)


DESCRIPTION

     Setuid sets the real and effective user ID's of the  current
     process  to  uid.   Unprivileged  users may only change both
     user ID's to the real user ID; only the super-user may  make
     other changes.  Setgid does the same for the real and effec-
     tive group ID's.

     Minix-vmd allows an unprivileged user to change ID's to  the
     original  real  or effective ID as they were at the time the
     process was executed.  Setgid may also set the group ID's to
     any  of the additional group ID's.  If one of the remembered
     user ID's was 0 then any user or group ID may be chosen.


RETURN VALUE

     Upon successful completion, a value of 0 is returned.   Oth-
     erwise,  a value of -1 is returned and errno is set to indi-
     cate the error.


ERRORS

     [EPERM]        The current process is not the super-user and
                    a  change  other  than  one  of  the  allowed
                    changes was attempted.


SEE ALSO

     getuid(2), getgid(2).