SETRUID(3)

NAME
setruid, setrgid - set user and group ID

SYNOPSIS
#include <sys/types.h>
int
setruid(uid_t uid);
int
setrgid(gid_t gid);

DESCRIPTION
This interface is made obsolete by setreuid(2). It is available from the compatibility library, libcompat.

The setruid() function (setrgid()) sets the real user ID (group ID) of the current process to the specified value.

RETURN VALUES
Upon success, these functions return 0; otherwise -1 is returned.

If the user is not the super user, or the UID (GID) specified is not the real or effective ID of the process, these functions return -1.

SEE ALSO
getgid(2), getuid(2), setegid(2), seteuid(2), setgid(2), setregid(2), setresgid(2), setresuid(2), setreuid(2), setuid(2)

HISTORY
The setruid() and setrgid() functions appeared in 4.2BSD. Semantically different versions appeared in 4.4BSD. The current versions, with the original semantics restored, appeared in OpenBSD 3.3.