简要对比C语言中的setgid()函数和setregid()函数_C 语言

C语言setgid()函数:设置真实的组识别码
头文件:

#include <unistd.h>

定义函数:

int setgid(gid_t gid);

函数说明:setgid()用来将目前进程的真实组识别码(real gid)设成参数gid 值. 如果是以超级用户身份执行此调用, 则real、effective 与savedgid 都会设成参数gid。

返回值:设置成功则返回0, 失败则返回-1, 错误代码存于errno 中.

错误代码:
EPERM:并非以超级用户身份调用, 而且参数gid 并非进程的effective gid 或saved gid 值之一.

C语言setregid()函数:设置真实及有效的组识别码
头文件:

#include <unistd.h>

定义函数:

int setregid(gid_t rgid, gid_t egid);

函数说明:setregid()用来将参数rgid 设为目前进程的真实组识别码, 将参数egid 设置为目前进程的有效组识别码. 如果参数rgid 或egid 值为-1, 则对应的识别码不会改变。

返回值:执行成功则返回0, 失败则返回-1, 错误代码存于errno.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c语言
, setgid
setregid
setregid、c语言setcolor、c语言set函数、c语言 set、c语言settimer,以便于您获取更多的相关知识。

时间: 2024-10-04 18:25:25

简要对比C语言中的setgid()函数和setregid()函数_C 语言的相关文章

C语言中char*和char[]用法区别分析_C 语言

本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正. 本质上来说,char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以: 当char *s = "hello";后,不能使用s[0]='a':语句进行赋值.这是将提示内存不能为"written". 当用char s[]=&q

C语言中的BYTE和char深入解析_C 语言

例如,在下面的源程序中""""之内的"你"."好".","."C"."!"."\n"就属于程序要处理的字符. 复制代码 代码如下: #include <stdio.h>int main(void){      printf("你好,C!\n");         return 0;}    该源程序中的其他字符则属于

简要对比C语言中的truncate()函数与ftruncate()函数_C 语言

C语言truncate()函数:改变文件大小头文件: #include <unistd.h> 定义函数: int truncate(const char * path, off_t length); 函数说明:truncate()会将参数path 指定的文件大小改为参数length 指定的大小. 如果原来的文件大小比参数length 大, 则超过的部分会被删去. 返回值:执行成功则返回0, 失败返回-1, 错误原因存于errno. 错误代码: 1.EACCESS 参数path 所指定的文件无法

简要对比C语言中的dup()函数和dup2()函数_C 语言

C语言dup()函数:复制文件描述词头文件: #include <unistd.h> 定义函数: int dup (int oldfd); 函数说明:dup()用来复制参数oldfd 所指的文件描述词, 并将它返回. 此新的文件描述词和参数oldfd 指的是同一个文件, 共享所有的锁定.读写位置和各项权限或旗标. 例如, 当利用lseek()对某个文件描述词作用时, 另一个文件描述词的读写位置也会随着改变. 不过, 文件描述词之间并不共享close-on-exec 旗标. 返回值:当复制成功时

C语言中const,volatile,restrict的用法总结_C 语言

1. const 变量声明中带有关键词const,意味着不能通过赋值,增量或减量来修改该变量的值,这是显而易见的一点.指针使用const则要稍微复杂点,因为不得不把让指针本身成为const和指针指向的值成为const区别开来.下面的声明表示pf指向的值必须是不变的 constfloat *pf:而pf则是可变的,它可以指向另外一个const或非const值:相反,下面的声明说明pf是不能改变的,而pf所指向的值则是可以改变的: float* const pf: 最后,当然可以有既不能改变指针的值

c语言中static的用法详细示例分析_C 语言

static在c里面可以用来修饰变量,也可以用来修饰函数.先看用来修饰变量的时候.变量在c里面可分为存在全局数据区.栈和堆里.其实我们平时所说的堆栈是栈而不是堆,不要弄混. 复制代码 代码如下: int a ;int main(){    int b ;     int c* = (int *)malloc(sizeof(int));} a是全局变量,b是栈变量,c是堆变量.static对全局变量的修饰,可以认为是限制了只能是本文件引用此变量.有的程序是由好多.c文件构成.彼此可以互相引用变量,

c语言中if 语句的作用范围示例代码_C 语言

复制代码 代码如下: # include <stdio.h> int main(void) { if (1 > 2) printf("第一条表达式"); printf("第二条表达式"); } /* 输出结果 第二条表达式 */ 说明if语句的作用范围只有紧跟if的第一条表达式

简述C语言中system()函数与vfork()函数的使用方法_C 语言

C语言system()函数:执行shell命令头文件: #include <stdlib.h> 定义函数: int system(const char * string); 函数说明:system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程. 在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT 和SIGQUIT 信号则会被忽略. 返回值: 1.如果 sy

详解C语言中fseek函数和ftell函数的使用方法_C 语言

fseek函数: int fseek(FILE * _File, long _Offset, int _Origin); 函数设置文件指针stream的位置.如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0.如果执行失败则不改变stream指向的位置,函数返回一个非0值. 超出文件末尾位置,还是返回0.往回偏移超出首位置,还是返回0,小心使用. 第一个参数stream为文件指针. 第二个参数offset为偏移量,正数表示正向偏移,