![使用 GeneratedUID 查找组名称](https://linux22.com/image/1316049/%E4%BD%BF%E7%94%A8%20GeneratedUID%20%E6%9F%A5%E6%89%BE%E7%BB%84%E5%90%8D%E7%A7%B0.png)
在 Mac OS X Lion 中,给定一个组的 GeneratedUID,我可以使用什么命令进行反向查找并找到组名?DSeditgroup(组名)将为我提供 GUID,但我正在寻找反向的。
先感谢您。
答案1
抱歉回答迟了,这可能只是供以后参考:
root# dscl localhost search /Search/Groups GeneratedUID ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000050
admin GeneratedUID = (
"ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000050"
)
虽然这是在 1.11 上运行的,但我认为这对所有 osx>10.4 左右都适用,过渡发生在 NetInfo 被取代的时候。
答案2
查看 Mac OS X 中包含的 getgrnam() 或 getgrgid() C 函数。
参见 getgrent 手册页。
man getgrent
这里还有一个需要做一些工作的例子,但是类似的操作应该允许给定一个 GID 号码,查找并打印组名。
#include <stdio.h>
#include <grp.h>
int main()
{
struct group myGroup;
struct group *grp;
grp = &myGroup;
grp = getgrgid(20); // <--- Enter your group ID number
if (grp == NULL)
{
printf("Something went wrong\n");
}
printf("Group Name is: %s\n", myGroup.gr_name);
}