【发布时间】:2019-05-06 20:42:27
【问题描述】:
【问题讨论】:
-
在命令行中,键入“man acl”以查看 ACL 例程的手册页。比我更熟悉他们的人可能会进一步回答,但这可以让你开始。有几个例程可以从文件系统对象中获取 ACL,还有一个名为
acl_to_text的例程,它似乎对生成描述 ACL 的文本很有帮助。
标签: c macos permissions acl
【问题讨论】:
acl_to_text 的例程,它似乎对生成描述 ACL 的文本很有帮助。
标签: c macos permissions acl
以下是在 C 代码中获取文件 (POSIX) ACL 并打印它们的示例:
const char *path = "/path/to/file";
acl_t acl = acl_get_link_np (path, ACL_TYPE_EXTENDED);
if (acl == NULL) {
printf("Error: %s\n", strerror(errno));
} else {
const char *desc = acl_to_text (acl, NULL);
printf("%s\n", desc);
acl_free ((void*)desc);
}
acl_free (acl);
但是,该组将显示为 UUID,而不是诸如“每个人”之类的名称。
如果您想自己解析 ACL 而不是获取默认打印输出,请在终端中键入 man acl。
【讨论】: