从xcode检查哪些帐户具有root权限

时间:2017-06-14 08:50:43

标签: xcode macos

我在CBIdentity的帮助下从OSX后台进程(aka守护进程)获取了帐户列表。但是,无论何时CBIdentity具有管理员权限,似乎都没有任何信息。也许有人知道如何获取这些信息?

1 个答案:

答案 0 :(得分:1)

您可以使用CBIdentity方法检查isMemberOfGroup:实例是否为管理员组的成员。要获得管理员组,您可以使用所需的GID创建CBGroupIdentity。可以在/etc/group中找到所有GID的列表,并且您的目的记录可能需要staff:*:20:root

- (BOOL) isIdentityAdmin:(CBIdentity *)identity
{
    gid_t adminGID = 20;
    CBGroupIdentity* adminGroup = [CBGroupIdentity groupIdentityWithPosixGID:adminGID authority:[CBIdentityAuthority defaultIdentityAuthority]];
    return [identity isMemberOfGroup:adminGroup];
}