默认情况下,MacOS 不支持 Linux 功能。
从setcap
MacOS 上不存在该命令就可以看出这一点。
据我所知,libcap
MacOS 上不存在该库。
有没有办法启用或安装 Linux 功能或类似系统,以便可以在 MacOS 上使用它们?
是否可以手动修补 MacOS 以支持功能?
笔记:我问这个主要是出于好奇,而不是因为我试图实际利用它来解决我遇到的问题。我知道还setuid
存在其他类似的解决方案。
答案1
最初的问题询问如何授予用户更改文件所有权的能力。这可能不是一个好主意,但您可以授予给定用户(或组)执行该命令的能力sudo
并将其“限制”到该chown
命令。
您可能想通过安装(到他们可以的区域)来进一步限制它不是修改它)一个脚本,该脚本在检查其影响的路径名不在系统区域中后执行 chown(尽管最近 OSX 的安全修复程序将避免大多数潜在的损害)。
更一般地说,sudo
是去哪里寻找。它可以允许用户(或组,这意味着属于组成员的任何用户)执行特定命令 - 或任何命令。
进一步阅读: