如何在 Mac 上使用终端添加文件夹的第二个所有者?

如何在 Mac 上使用终端添加文件夹的第二个所有者?

在 Mac 上,使用终端和“chown”命令,我可以设置文件夹的所有者,如下所示:

sudo chown -R _www somefolder

然而,这将我替换为_www。即我不再在所有者列表中。

在此输入图像描述

然后,我必须在 Finder 中打开文件夹属性,将自己添加为第二所有者并使用 GUI 设置权限。

在此输入图像描述

ACL 如下所示:

在此输入图像描述

有没有办法使用终端添加两个所有者?换句话说,如何使用终端向文件夹添加第二个所有者?不一定是chown。

PS:以防万一..在屏幕截图中,用户“_www”和“Oleg (Я)”拥有“读取和写入”权限。

答案1

找到答案(在终端中输入):

sudo chmod +a 'Oleg allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity' somefolder

其中“Oleg”是用户名,“somefolder”是相关文件夹名称。

“allow”关键字后面的单引号内的权限只是从输出中复制的ls -le

现在用户'_www'和'Oleg'都可以读取、写入文件和子目录等。

这就是目的。

严格来说,是的,您不能在 POSIX 属性意义上添加第二个“所有者”,例如通过 Chown。

然而,在 Mac 中,您可以通过 ACL 向众多用户授予类似所有者的权限,如 Philippos 评论的那样(感谢提示)。

答案2

这是不可能的,因为 Unix 文件只有一个所有者,请尝试使用组。

答案3

这是一个xy-问题

X:问题,两个用户如何以相同的权限访问同一个文件?

解决方案我使用多个 chown => Y:problem

X问题的解决方案

根据http://aplawrence.com/MacOSX/acl.html

您可以使用

 chmod +a "allow Oleg list,search,add_file,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown"
 chmod +a "allow _www list,search,add_file,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown"

我现在无法测试,因为我没有可用的 mac OS 10.5。

您可以将上面的长字符串替换为以下结果ls -e

Y:解决方案:我尝试使用多个chown。

这是不可能的:Unix/Linux/OS X 的文件一次只有一个所有者。

相关内容