《Linux系统调用:initgroups,getgroups,setgroups》

本文介绍了Unix系统中的补充组ID概念,详细讲解了Linux系统调用`initgroups`、`getgroups`和`setgroups`的功能及用法。`initgroups`用于初始化组访问列表,`getgroups`获取当前进程的补充组ID列表,而`setgroups`则用于设置进程的组设置。通过示例展示了如何在权限管理中使用这些调用。
摘要由CSDN通过智能技术生成

一、介绍

补充组ID: 在Unix系统中,每个用户必须是至少一个称为主组的组的成员。也有可能在组数据库的相关条目中将用户列为其他组的成员。这些附加组的ID称为补充组ID

initgroups: 通过读取组数据库/etc/group并使用来初始化组访问列表,用户所属的所有组,附加组组也将添加到列表中

getgroups: 用来取得当前进程关联的补充组ID的列表
参数:
    size: 是list 所能容纳的最大值,最大值是sysconf(_SC_NGROUPS_MAX)大小
    如果size为0,list不会被修改,返回用户所属的组的个数,一般来说先用size为0确定下list的大小,然后根据实际个数分配list大小
    
setgroups: 用来将list 数组中所标明的组加入到目前进程的组设置中. 参数size 为list()的gid_t 数目, 最大值为NGROUP(32)

 

二、接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HarkerYX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值