SETRUID(3) BSD Programmer's Manual SETRUID(3)
setruid, setrgid - set user and group ID
#include <sys/types.h> int setruid(uid_t uid); int setrgid(gid_t gid);
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.
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.
getgid(2), getuid(2), setegid(2), seteuid(2), setgid(2), setregid(2), setresgid(2), setresuid(2), setreuid(2), setuid(2)
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. MirBSD #10-current April 19, 1991 1