- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 root 中运行这个程序,使用命令 id mike
得到以下结果:
uid=1001(mike) gid=1002(mike) groups=1002(mike),1005(mynewgroup)
我正在使用以下代码获取组:
setgid(1002)
setuid(1001)
if ((count = getgroups(NGROUPS_MAX, groupIDs)) == -1)
perror("getgroups error");
else
for (i = 0; i < count; i++)
printf("Group ID %d = %d\n", i + 1, (int) groupIDs[i]);
我需要的结果是列出组 1002 和 1005。它只是给了我
Group ID 1 = 1002
如何使用 getgroups
获取用户的所有组?
最佳答案
不清楚你在这里做什么。你的进程是根,然后你设置 gid + setuid 并期望 getgroups 给你一个类似于提供的 id 的列表?
首先,getgroups 处理当前进程的凭据,不能与/etc/group 或其他地方配置的凭据混淆。例如。当有问题的用户登录任何处理时,它必须手动明确设置所有组,这是您没有做的。特别是该程序执行 setuid 和 setgid,但也执行其他操作以正确设置凭据。
所以你需要运行一个函数来提供为给定用户配置的组。您已经知道可以完成这项工作的工具 - 它就是 id。由于这是开源的,您可以检查它的作用。
在这种特殊情况下,您要查找的关键字是 getgrouplist。请注意,setuid/setgid 有 0 个用于查找组列表是什么。
关于linux - 如何获取 "getgroups"用户的所有组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48848797/
我在 root 中运行这个程序,使用命令 id mike 得到以下结果: uid=1001(mike) gid=1002(mike) groups=1002(mike),1005(mynewgroup
extern crate libc; fn example(guid: u32) { unsafe { let ruid = libc::getuid(); l
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeNetworkManager.getGroups()方法的一些代码示例,展示了ZigBeeNetworkManager
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeNetworkManager.getGroup()方法的一些代码示例,展示了ZigBeeNetworkManager.
我正在使用 ASP.Net 4.0 MVC 查询事件目录。我正在尝试获取用户组成员身份的列表并遍历它们。我有一个奇怪的问题。要获取我正在使用的组: PrincipalSearchResult g
本文整理了Java中ro.isdc.wro.model.WroModel.getGroups()方法的一些代码示例,展示了WroModel.getGroups()的具体用法。这些代码示例主要来源于Gi
我正在尝试使用 UserPrincipal 的 GetGroups 方法。如果用户帐户位于包含正斜杠的 OU 中,则对 GetGroups 的调用将失败并出现 COM 未知错误 0x80005000。
以下内容在我的本地开发盒上效果很好。但是,当我将它移动到 Web 服务器时,它失败了,甚至不会记录错误: public static List getAuthorizationGrps(string
背景 我们有一个用 C# 编写的 asp.net 4.0 Web 应用程序调用用 C# 编写的 .net 3.5 Web 服务。 Web 服务被传递一个用户 ID 并根据用户所属的事件目录组返回一个数
本文整理了Java中com.ait.lienzo.client.core.shape.wires.WiresShape.getGroup()方法的一些代码示例,展示了WiresShape.getGro
我是一名优秀的程序员,十分优秀!