setuid(2)



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 effective 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.  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 one of the allowed changes was attempted.


SEE ALSO

     getuid(2), getgid(2).