OS X AFP 共享和访问

OS X AFP 共享和访问

我正在运行 10.5.6 客户端作为迷你服务器,并且遇到了 AFP 共享问题。所有客户端都是 OS X 10.5.7

我已在“服务器”上为“文件共享”创建了三个用户。我已创建组并将这些用户放入特定组中。我已创建 ACL 以使每个组都可以访问某些共享。

其中两个用户可以读取和写入任何共享,一个用户无法写入共享,结果不同:

  • 复制目录时,仅创建目录,不复制其中的文件,操作系统不会给出任何错误
  • 复制单个文件时,我收到三个对话框:“您可能需要输入此计算机管理员的名称和密码才能更改名为‘xxxx’的项目”、“项目‘xxxxx’包含一个或多个您无权读取的项目。是否要复制您有权读取的项目?”、“由于您对某些项目没有足够的权限,因此无法完成该操作。”

使用单个文件,服务器上会创建一个文件,但是它是空的。

我为该用户所属组设定的 ACL 是:

 0: group:projectmembers allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
 1: group:informationtechnology inherited allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
 2: group:executive inherited allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
 3: group:everyone inherited deny list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit

用户 1 和 2 属于信息技术、执行和项目成员,他们可以自由读取和写入共享。用户 3 属于项目成员,不能自由读取和写入。

我了解到这是一个 UID 问题,但是用户 1 和 2 在客户端和服务器上没有匹配的 UID,并且它们可以正常工作,所以我不认为是这种情况。

有任何想法吗?

答案1

在使用 OS X 10.5.6 服务器和 10.5.7 客户端进行一些测试后,替换了我原来的答案:

经过一些实验,我发现 OS X 在共享点的 ACL 继承方面有点疯狂。继承的 ACL 始终优先于在共享点(或树中较低的位置)设置的 ACL,但仅限于权限。您可以非常高兴地授予用户对树下某个文件夹的读取权限,这样就可以了,但是如果您授予他们写入权限,那么它就会无可救药地失败。

什么工作。关闭问题共享上方的拒绝规则的继承(您可以在那里设置它,但不要以任何方式继承它)。然后在共享点明确设置拒绝(此时打开继承似乎可以正常工作)。我的测试显示这样做没有问题,但如果您必须管理数百个类似的共享,那就麻烦了。

一个选项可能是对所有人读取后进行顶层全面拒绝,然后对写入进行不继承阻止,如上所述。请让我知道你的情况,因为我对自己的共享管理很感兴趣。

相关内容