使用 GeneratedUID 查找组名称

使用 GeneratedUID 查找组名称

在 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);
}

相关内容