O_PATH 在 MacOS 中等效?

O_PATH equivalent in MacOS?

Linux 有 open() 的 O_PATH 标志,它允许一个人获得一个 fd 用于 fstat,fcntl 和其他人而无需实际打开文件进行读取(或具有读取权限)这样做)。但是 O_PATH 标志是 Linux 特定的。

在 MacOS 中是否有等同于 O_PATH 标志的 open()?例如,如何在我没有读取权限的文件上使用 fstat()?

macOS 没有 O_PATH 的等效项,因此如果不打开文件就不可能获得对文件的引用。关于您提到的一点功能,只要您对其父目录具有 "execution" 权限,就可以使用给定的文件路径调用 stat,无论您是否对该文件具有任何权限。