简要对比C语言中的setgid()函数和setregid()函数
C语言setgid()函数:设置真实的组识别码
头文件:
#include<unistd.h>
定义函数:
intsetgid(gid_tgid);
函数说明:setgid()用来将目前进程的真实组识别码(realgid)设成参数gid值.如果是以超级用户身份执行此调用,则real、effective与savedgid都会设成参数gid。
返回值:设置成功则返回0,失败则返回-1,错误代码存于errno中.
错误代码:
EPERM:并非以超级用户身份调用,而且参数gid并非进程的effectivegid或savedgid值之一.
C语言setregid()函数:设置真实及有效的组识别码
头文件:
#include<unistd.h>
定义函数:
intsetregid(gid_trgid,gid_tegid);
函数说明:setregid()用来将参数rgid设为目前进程的真实组识别码,将参数egid设置为目前进程的有效组识别码.如果参数rgid或egid值为-1,则对应的识别码不会改变。
返回值:执行成功则返回0,失败则返回-1,错误代码存于errno.