SETUID(2)

NAME
setuid, seteuid, setgid, setegid - set (effective) user or group ID's

SYNOPSIS
#include <sys/types.h>
int setuid(uid_t uid)
int seteuid(uid_t euid)
int setgid(gid_t gid)
int setegid(gid_t egid)

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), geteuid(2), getgid(2). getegid(2).