real uid, saved uid, effecitve uid
//*************************************
int setreuid(uid_t ruid, uid_t euid)
int setregid(gid_t rgid, gid_t egid)
int setuid(uid_t uid)
int setgid(gid_t gid)
int seteuid(uid_t uid)
int setegid(gid_t gid)
error return -1, ok return 0
uid_t getuid()
uid_t geteuid()
gid_t getgid()
gid_t getegid()
function defined in <unistd.h>
//*************************************
int setgroups(size_t num, const gid_t *list)
size_t getgroups(size_t num, gid_t list[])
function defined in <grp.h>
//***********************************
//*************************************
int setreuid(uid_t ruid, uid_t euid)
int setregid(gid_t rgid, gid_t egid)
int setuid(uid_t uid)
int setgid(gid_t gid)
int seteuid(uid_t uid)
int setegid(gid_t gid)
error return -1, ok return 0
uid_t getuid()
uid_t geteuid()
gid_t getgid()
gid_t getegid()
function defined in <unistd.h>
//*************************************
int setgroups(size_t num, const gid_t *list)
size_t getgroups(size_t num, gid_t list[])
function defined in <grp.h>
//***********************************